问题描述
我已将以下行添加到 .bashrc
文件中:
alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"
此命令在终端和 tty 中运行良好。\n但在我的 .desktop 快捷方式文件中不起作用。
midos.desktop 文件:
[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true
如何在 .desktop 快捷方式文件中执行我的 midos
命令?
最佳方案
虽然其他答案为您的问题提供了一个很好的解决方法,但为了回答您的问题,在您的情况下,在 .desktop 文件中使用别名的正确方法是:
Exec=bash -ic "midos"
这是因为 ~/.bashrc
文件中的别名只能在 bash 交互式 shell 中\n 工作(在这种情况下使用 -i
选项来启动 bash 交互式)。
如果另一个用户想要使用同一个 .desktop 文件,那么他必须也定义了那个别名。
次佳方案
如果 GUI 对您的 shell 有所了解,我会感到非常惊讶。您应该将完整路径放在桌面文件中:
Exec=/home/erkanmdr/Belgeler/midos/midos.sh
并确保您的脚本是可执行的。
第三种方案
小解决方法。
将此 #!/bin/bash
添加到脚本的第一行(如果尚不存在)。
例如你之前的脚本:
sometext1
sometext2
sometext3
sometext4
您编写脚本后:
#!/bin/bash
sometext1
sometext2
sometext3
sometext4
现在将您的脚本复制到 /usr/local/bin
,并使其可执行:
sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos
之后它应该可以按您的意愿工作。