为何我的自定义启动器不工作?

为何我的自定义启动器不工作?

我正在尝试为 ubuntu 11.10 的左侧栏创建一个启动器,我遵循这个答案,它可以工作,但我想自动登录到 SSH 服务器,因此我尝试使用以前使用过的命令,例如:

expect -c 'spawn ssh [email protected] ; expect assword ; send "password123\n" ; expect root@; send "unset HISTFILE\n" ; interact'

直接在控制台上输入时效果很好,但是当我将其放在快捷方式 Exec= 部分时,然后单击启动器图标,什么也没有发生,没有打开 ssh 或其他任何东西的终端。

快捷方式文件如下所示:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Name=Remote Servers
Comment=Login to my servers
Exec=notify-send "Select a server" "You have to select a server to SSH into" -i /usr/share/icons/gnome/256x256/status/messagebox_warning.png -t 5000
Terminal=false
X-MultipleArgs=false
Type=Application
Icon[en_US]=/home/username/.icons/ssh.png
StartupNotify=true
StartupWMClass=RemoteServers
X-Ayatana-Desktop-Shortcuts=Server1;Server2;

[Server1 Shortcut Group]
Name=SSH into 111.222.333.444
Exec=expect -c 'spawn ssh [email protected] ; expect assword ; send "password123\n" ; expect root@; send "unset HISTFILE\n" ; interact'
TargetEnvironment=Unity

[Server2 Shortcut Group]
Name=SSH into 111.222.333.444
Exec=expect -c 'spawn ssh [email protected] ; expect assword ; send "password123\n" ; expect root@; send "unset HISTFILE\n" ; interact'
TargetEnvironment=Unity

我认为这会起作用,因为我已经创建了另一个启动虚拟机的快捷方式,我使用创建了它gnome-desktop-item-edit --create-new,并且“Exec=”中的命令与在控制台上输入的命令完全相同。

有谁知道我怎样才能让它工作?

答案1

把整个 expect 命令放在一个单独的脚本中,然后~/bin/server1将其更改Exec

Exec="gnome-terminal -e /home/your_user/bin/server1"

我假设您不希望其他人查看/使用该脚本,因为它包含密码,所以 chmod 700 ~/bin/server1 并考虑使用加密的主目录;)

相关内容