如果在命令中使用管道,桌面快捷方式将不起作用

Nic*_*nko 5 bash ubuntu pipe desktop-shortcut

今天我尝试创建一个桌面快捷方式来启动 Skype 并使用 pipelogin。

我创建了以下快捷方式:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Skype2
Name[en_US]=Skype2
Icon=skype
Exec=echo login password | skype --dbpath=/home/kont/.Skype2 --pipelogin
Run Code Online (Sandbox Code Playgroud)

但是当我尝试启动它时什么也没发生。然后我尝试在没有管道登录的情况下启动 Skype:

Exec=echo skype --dbpath=/home/kont/.Skype2
Run Code Online (Sandbox Code Playgroud)

它工作正常。所以我决定原因是使用 pipe |。为了批准这个版本,我使用以下代码创建了 login_skype.sh 文件:

Exec=echo login password | skype --dbpath=/home/kont/.Skype2 --pipelogin
Run Code Online (Sandbox Code Playgroud)

并更改了快捷方式,以便它启动 login_skype.sh 并且它也可以正常工作。

有什么想法在第一个快捷代码版本中出了什么问题?

kni*_*ttl 4

尝试在子 shell 中启动它:

Exec=sh -c 'echo login password | skype --dbpath=/home/kont/.Skype2 --pipelogin'
Run Code Online (Sandbox Code Playgroud)