我的.bashrc别名未在.desktop文件中运行


19

我在.bashrc文件中添加了以下行:

alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"

该命令在终端和tty中工作正常。但是无法在我的.desktop快捷方式文件中使用。

midos.desktop文件:

[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true

如何midos在.desktop快捷方式文件中执行命令?


您可以Exec=midosExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

我不想要这个。我想直接使用。这是可能的?
ErkanMDR 2014年

1
我将替换shbash(alias midos =“ bash /home/erkanmdr/Belgeler/midos/midos.sh”)–
Sylvain Pineau,

@SylvainPineau不起作用
ErkanMDR 2014年

Answers:


24

尽管其他答案为您的问题提供了一个很好的解决方法,但要回答您的问题,在您的情况下,在.desktop文件中使用别名的正确方法是:

Exec=bash -ic "midos"

这是因为来自~/.bashrc文件的别名bash交互式shell中起作用(-i在这种情况下,该选项用于启动bash交互式)。

如果另一个用户想要使用相同的.desktop文件,则他必须也已经定义了该别名。


大!正是我想要的。非常感谢
ErkanMDR 2014年

6

如果GUI对您的shell有任何想法,我将感到非常惊讶。您应该将完整路径放在桌面文件中:

Exec=/home/erkanmdr/Belgeler/midos/midos.sh

并确保您的脚本是可执行的。


6

很少的解决方法。

#!/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

之后,它应该可以根据需要工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.