Mon alias .bashrc ne s'exécute pas dans le fichier .desktop

19

J'ai ajouté la ligne suivante au .bashrcfichier:

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

Cette commande fonctionne très bien dans le terminal et tty. Mais ne fonctionne pas dans mon fichier de raccourci .desktop.

fichier midos.desktop:

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

Comment exécuter ma midoscommande dans le fichier de raccourci .desktop?

ErkanMDR
la source
Vous pouvez simplement remplacer Exec=midosparExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp
Je ne le veux pas. Je veux utiliser directement. C'est possible?
ErkanMDR
1
Je remplacerais shpar bash(alias midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Sylvain Pineau
@SylvainPineau pas travaillé
ErkanMDR

Réponses:

24

Bien que les autres réponses offrent une bonne solution de contournement à votre problème, pour répondre à votre question, la bonne façon d'utiliser un alias dans un fichier .desktop est, dans votre cas:

Exec=bash -ic "midos"

C'est parce que les alias du ~/.bashrcfichier ne fonctionneront que dans un shell interactif bash (l' -ioption est utilisée dans ce cas pour démarrer bash interactive).

Si un autre utilisateur souhaite utiliser le même fichier .desktop, il doit également avoir défini cet alias.

Radu Rădeanu
la source
Génial! Exactement ce que je cherchais. Merci beaucoup
ErkanMDR
6

Je serais extrêmement surpris si l'interface graphique avait une idée de votre shell. Vous devez mettre le chemin complet dans votre fichier de bureau:

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

Et assurez-vous que votre script est exécutable.

glenn jackman
la source
6

Petite solution de contournement.

Ajoutez-le #!/bin/bashà la première ligne de votre script, si ce n'est déjà fait.

Par exemple votre script avant:

sometext1
sometext2
sometext3
sometext4

Votre script après:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

Copiez maintenant votre script /usr/local/binet rendez-le exécutable:

sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos

Après cela, cela devrait fonctionner comme vous le souhaitez.

c0rp
la source