Mi alias .bashrc no se ejecuta en el archivo .desktop


19

He agregado la siguiente línea al .bashrcarchivo:

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

Este comando funciona bien en la terminal y tty. Pero no funciona en mi archivo de acceso directo .desktop.

Archivo midos.desktop:

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

¿Cómo ejecuto mi midoscomando en el archivo de acceso directo .desktop?


Simplemente puede sustituir Exec=midosconExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

No lo quiero. Quiero usar directamente ¿Es posible?
ErkanMDR

1
Lo reemplazaría shcon bash(alias midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Sylvain Pineau

@SylvainPineau no funcionó
ErkanMDR

Respuestas:


24

Mientras que las otras respuestas ofrecen una buena solución para su problema, para responder a su pregunta, la forma correcta de usar un alias dentro de un archivo .desktop es, en su caso:

Exec=bash -ic "midos"

Esto se debe a que los alias del ~/.bashrcarchivo solo funcionarán en un shell interactivo de bash (la -iopción se usa en este caso para iniciar bash interactive).

Si otro usuario quiere usar el mismo archivo .desktop, entonces debe haber definido también ese alias.


¡Excelente! Exactamente lo que estaba buscando. Muchas gracias
ErkanMDR

6

Me sorprendería mucho si la GUI tiene alguna idea sobre su shell. Debe poner la ruta completa en su archivo de escritorio:

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

Y asegúrese de que su script sea ejecutable.


6

Poca solución.

Agregue esto #!/bin/basha la primera línea de su script, si aún no está allí.

Por ejemplo, su script antes:

sometext1
sometext2
sometext3
sometext4

Tu guión después de:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

Ahora copie su script /usr/local/biny hágalo ejecutable:

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

Después de eso debería funcionar como quieras.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.