我正在尝试为 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 并考虑使用加密的主目录;)