Merge pull request #41 from outis1one/claude/integrate-talkkonnect-install-016rfpEaspgs7mfn2XHEVj7W
Claude/integrate talkkonnect install 016rfp easpgs7mfn2 xhe vj7 w
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
################################################################################
|
||||||
|
# Check if talkkonnect terminal fix is applied
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
echo "================================"
|
||||||
|
echo " Talkkonnect Fix Status Check"
|
||||||
|
echo "================================"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Check if service file exists
|
||||||
|
if [ ! -f /etc/systemd/system/talkkonnect.service ]; then
|
||||||
|
echo "❌ Service file not found: /etc/systemd/system/talkkonnect.service"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Service file found. Checking configuration..."
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Check for TERM=dumb
|
||||||
|
if grep -q 'Environment="TERM=dumb"' /etc/systemd/system/talkkonnect.service; then
|
||||||
|
echo "✓ TERM=dumb is configured"
|
||||||
|
TERM_OK=1
|
||||||
|
else
|
||||||
|
echo "✗ TERM=dumb is MISSING"
|
||||||
|
TERM_OK=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for StandardInput=null
|
||||||
|
if grep -q 'StandardInput=null' /etc/systemd/system/talkkonnect.service; then
|
||||||
|
echo "✓ StandardInput=null is configured"
|
||||||
|
STDIN_OK=1
|
||||||
|
else
|
||||||
|
echo "✗ StandardInput=null is MISSING"
|
||||||
|
STDIN_OK=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Current service file:"
|
||||||
|
echo "-------------------"
|
||||||
|
cat /etc/systemd/system/talkkonnect.service
|
||||||
|
echo "-------------------"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ $TERM_OK -eq 1 ] && [ $STDIN_OK -eq 1 ]; then
|
||||||
|
echo "✓ Fix is properly applied!"
|
||||||
|
echo
|
||||||
|
echo "If you're still seeing errors, check:"
|
||||||
|
echo " sudo journalctl -u talkkonnect -n 100"
|
||||||
|
else
|
||||||
|
echo "❌ Fix is NOT applied. Run the fix script:"
|
||||||
|
echo " cd /home/user/ubk"
|
||||||
|
echo " sudo bash fix_talkkonnect_terminal.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
Executable
+90
@@ -0,0 +1,90 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
################################################################################
|
||||||
|
# Fix talkkonnect Terminal Initialization Error
|
||||||
|
################################################################################
|
||||||
|
# This script fixes the "Cannot Initialize Terminal" error that occurs when
|
||||||
|
# talkkonnect is run as a systemd service without a TTY.
|
||||||
|
#
|
||||||
|
# The fix adds:
|
||||||
|
# - Environment="TERM=dumb" to use minimal terminal mode
|
||||||
|
# - StandardInput=null to prevent terminal initialization
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "================================"
|
||||||
|
echo " Talkkonnect Terminal Fix"
|
||||||
|
echo "================================"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Get kiosk user (usually 'kiosk')
|
||||||
|
KIOSK_USER=$(ls -l /home | grep '^d' | grep -v lost | head -1 | awk '{print $NF}')
|
||||||
|
|
||||||
|
if [ -z "$KIOSK_USER" ]; then
|
||||||
|
echo "❌ Error: Could not find kiosk user"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Kiosk user: $KIOSK_USER"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Check if talkkonnect is installed
|
||||||
|
if ! systemctl list-unit-files | grep -q talkkonnect.service; then
|
||||||
|
echo "❌ Error: talkkonnect service not found"
|
||||||
|
echo " Install talkkonnect first using the main install script"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[1/3] Stopping talkkonnect service..."
|
||||||
|
sudo systemctl stop talkkonnect
|
||||||
|
|
||||||
|
echo "[2/3] Updating systemd service..."
|
||||||
|
sudo tee /etc/systemd/system/talkkonnect.service > /dev/null <<EOF
|
||||||
|
[Unit]
|
||||||
|
Description=talkkonnect Mumble Client
|
||||||
|
After=network.target sound.target pipewire.service
|
||||||
|
Wants=pipewire.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=$KIOSK_USER
|
||||||
|
Environment="PATH=/usr/local/go/bin:/usr/bin:/bin"
|
||||||
|
Environment="HOME=/home/$KIOSK_USER"
|
||||||
|
Environment="GOPATH=/home/$KIOSK_USER/go"
|
||||||
|
Environment="TERM=dumb"
|
||||||
|
WorkingDirectory=/home/$KIOSK_USER
|
||||||
|
ExecStartPre=/bin/sleep 10
|
||||||
|
ExecStart=/home/$KIOSK_USER/go/bin/talkkonnect -config /home/$KIOSK_USER/talkkonnect.xml
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
StandardInput=null
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "[3/3] Reloading and starting service..."
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl start talkkonnect
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Waiting for service to start..."
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
echo
|
||||||
|
if systemctl is-active --quiet talkkonnect; then
|
||||||
|
echo "✓ SUCCESS: talkkonnect is now running"
|
||||||
|
echo
|
||||||
|
echo "Check logs with:"
|
||||||
|
echo " sudo journalctl -u talkkonnect -f"
|
||||||
|
else
|
||||||
|
echo "⚠ Warning: Service may still have issues"
|
||||||
|
echo
|
||||||
|
echo "Check logs:"
|
||||||
|
echo " sudo journalctl -u talkkonnect -n 50"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Fix applied!"
|
||||||
@@ -7549,11 +7549,13 @@ User=$KIOSK_USER
|
|||||||
Environment="PATH=/usr/local/go/bin:/usr/bin:/bin"
|
Environment="PATH=/usr/local/go/bin:/usr/bin:/bin"
|
||||||
Environment="HOME=/home/$KIOSK_USER"
|
Environment="HOME=/home/$KIOSK_USER"
|
||||||
Environment="GOPATH=/home/$KIOSK_USER/go"
|
Environment="GOPATH=/home/$KIOSK_USER/go"
|
||||||
|
Environment="TERM=dumb"
|
||||||
WorkingDirectory=/home/$KIOSK_USER
|
WorkingDirectory=/home/$KIOSK_USER
|
||||||
ExecStartPre=/bin/sleep 10
|
ExecStartPre=/bin/sleep 10
|
||||||
ExecStart=/home/$KIOSK_USER/go/bin/talkkonnect -config /home/$KIOSK_USER/talkkonnect.xml
|
ExecStart=/home/$KIOSK_USER/go/bin/talkkonnect -config /home/$KIOSK_USER/talkkonnect.xml
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
|
StandardInput=null
|
||||||
StandardOutput=journal
|
StandardOutput=journal
|
||||||
StandardError=journal
|
StandardError=journal
|
||||||
|
|
||||||
|
|||||||
Executable
+9788
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user