Napisałem mały skrypt, który umożliwia klonowanie ekranu Linuxa w całości na Apple TV. Kod w bash poniżej:

#!/bin/bash
if [ -f ~/tmp/apple ]
then
proc=`cat ~/tmp/apple`
kill -9 $proc 
rm -f ~/tmp/apple 2>/dev/null
kdialog --passivepopup "Koniec udostpniania na Apple TV" 5 2>/dev/null
else
choice="$(avahi-browse _airplay._tcp -ptr|grep IPv4|awk -F';' '{print $7}'|grep -v ^$|zenity --list --hide-header --title="Wybór Apple TV" --text="Wybierz Apple TV..." --column="IP adresses" 2>/dev/null)"
if [ -z "$choice" ] 
then
kdialog --passivepopup "Błąd - Nie dokonano wyboru" 5 2>/dev/null
exit
else
PASSWD="$(zenity --password --title="Wprowadż hasło")"
if [ -z "$PASSWD" ]
then
java -jar ~/Pobrane/airplay.jar -h "$choice" -d >~/tmp/apple_wyn 2>&1 &
proc=$!
else
java -jar ~/Pobrane/airplay.jar -h "$choice" -a $PASSWD -d >~/tmp/apple_wyn 2>&1 &
proc=$!
fi
sleep 2
error=`ack -1 --match password ~/tmp/apple_wyn`
if [ ! -z "$error" ]
then
        kdialog --passivepopup "Niewłaściwe hasło" 5 2>/dev/null
        kill -9 $proc
        exit
fi
kdialog --passivepopup "Klonowanie ekranu na Apple TV" 5 2>/dev/null
echo $proc > ~/tmp/apple
fi
fi

Działa poprawnie ale tylko jeżeli wywołuję go poleceniem z konsoli. Jeżeli wywołuję go za pomocą zdefiniowanej ikony na pulpicie KDE, nie wykonuje się poniższa linia

error=`ack -1 --match password ~/tmp/apple_wyn`

A mówiąc konkretnie, niezależnie od wcześniejszych waronków zmienna error jest zawsze pusta (null).
Może któryś z Kolegów wie co może być przyczyną?