it-swarm.com.de

Wie stdout und stderr in Desktop-Eintrag umleiten?

Ich habe eine .desktop-Datei in ~/.config/autostart abgelegt:

[Desktop Entry]
Type=Application
Exec=sslocal >log 2>&1
Path=/etc/shadowsocks
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

Obwohl sslocal erwartungsgemäß ausgeführt wurde, wurde keine Protokolldatei generiert.

4
hduhxc

Ändere dein

Exec=sslocal > log 2> &1

in

Exec=bash -c 'sslocal > log 2> &1'

Der einfache Grund dafür ist, dass > der Shell-Operator ist und 2>&1 Dateideskriptoren verwendet. Um den Shell-Operator verwenden zu können, muss eine Shell angehängt sein.

4