¿Cómo ejecutar sh script desde un acceso directo de escritorio?

37

Estoy tratando de hacer un acceso directo para iniciar sesión en mi servidor ssh:

ssh x.x.x.x

Hice el siguiente archivo:

ssh_home.sh

Hecho ejecutable:

sudo chmod +x ./ssh_home

Se verificó haciendo clic con el botón derecho en las propiedades para verificar si era ejecutable y si era ..

Pero haga lo que haga, al hacer doble clic en él, se iniciará gedit. Intenté "Abrir con" pero no se muestra ninguna aplicación de terminal allí. Busqué en la red pero solo encontré una manera de vincular el archivo sin integrarlo en un "archivo de acceso directo"

michel
fuente
2
¿Agregaste #! /usr/bin/shal principio del archivo (la primera línea)?
Miseria
Por interés, ¿qué versión de Ubuntu está ejecutando? En principio, debería ser solo un caso de marcar el archivo como ejecutable en Propiedades / Permisos, pero en 13.04 esto no parece funcionar para mí (incluso directamente en el archivo .sh, con #! /bin/bashal principio ...)
Jez W
También verifique el propietario y los permisos. ¿El usuario que hace clic en él tiene permiso para ejecutarlo?
Miseria
1
Sus comandos no pueden ser correctos: se refiere a ssh_home.shy /ssh_home, que no son los mismos archivos.
l0b0
2
@Misery: Es /bin/sh, no /usr/bin/sh. ( /usr/bin/shfuncionará en sistemas donde /biny /usr/binson el mismo directorio; no creo que ese sea el caso de Ubuntu>)
Keith Thompson

Respuestas:

50

Sé que esto fue hace un tiempo, pero si alguien más pregunta, tengo esta respuesta.

  1. Nautilus abierto
  2. Menú de archivos -> pestaña de comportamiento
  3. Ejecuta archivos de texto ejecutables cuando se abren

En versiones posteriores, esta opción se encuentra en: menú Archivos -> Editar -> Preferencias -> pestaña de comportamiento

En Ubuntu 14.10 mueva el mouse a la parte superior de la pantalla y aparecerá la barra de menú Archivo, Editar, etc. Haga clic en EDITAR -> Preferencias -> pestaña Comportamiento

Peter
fuente
2
Esta debería ser la respuesta aceptada en mi humilde opinión. Me frustraba bastante tratar de entender por qué no podía ejecutar el script de shell desde Nautilus.
David Baucum
¿Qué es el menú Archivos? Nunca lo había visto.
IgorGanapolsky
Trabajó. Haga clic derecho en mi script de shell en el navegador de archivos. Enlace creado Luego arrastre y suelte el enlace al escritorio. También realizó el paso anterior en la exploración de archivos -> Preferencias-> ejecutar en lugar de ver.
maxweber
3
Una complicación es que esto afecta a todos los archivos ejecutables. (Eso podría ser lo que quieres.)
Keith Thompson
¡Gran respuesta! En Ubuntu 18.04, lo configuré en 'Preguntar qué hacer', para poder elegir ejecutarlo o mostrarlo cada vez que haga doble clic en dicho archivo. ¡Gracias!
MS Berends
36

Creo que sería mejor usar un archivo de inicio para su script creando un ~/Desktop/ssh_home.desktoparchivo con el siguiente contenido:

[Desktop Entry]
Version=1.0
Exec=/home/yourname/bin/ssh_home.sh
Name=SSH Server
GenericName=SSH Server
Comment=Connect to My Server
Encoding=UTF-8
Terminal=true
Type=Application
Categories=Application;Network;

De esa manera, tendrá un icono en el que se puede hacer clic para iniciar su secuencia de comandos.

Es posible que también deba establecer el indicador ejecutable con chmod:

chmod +x ~/Desktop/ssh_home.desktop
Cyril Laury
fuente
1
Este método funciona pero prefiero una solución de 1 archivo ...
michel
66
@michel Si todo el script se ejecuta ssh host, no necesita el script, simplemente cambie la línea Exec a Exec=ssh host.
geirha
1
Esta es la única solución que funcionó para mí.
Aviad P.
Recibo un Untrusted application launchercuadro de mensaje y no ejecuta mi comando.
Matt
@ Matt intente hacer clic derecho sobre el icono, vaya a Properties > Permissionscontinuación, seleccione Allow executing file as program. Además, si copia y pega el texto anterior en su archivo, asegúrese de que no haya ningún espacio en blanco después de las líneas. Eso puede causar su mensaje de error.
Olivia Stork
3

La "trampa" para mí fue que busqué al hacer clic derecho en el archivo una forma de cambiar el comportamiento (para que se ejecutara un script en lugar de abrirse en gedit). ¡No hagas clic derecho! Más bien abierto desde la barra de menú "normal":

Editar-Preferencias-Comportamiento y cambiar a "ejecutar" o "preguntar cada vez".

Comentario: Para mi gusto, también debería haber una manera de ejecutar un programa haciendo clic derecho. Especialmente porque hacer clic con el botón derecho conduce al menú "abrir con", que lo hace buscar "abrir con bash", sin embargo, "bash" no está incluido como una opción ...

patrick pirker
fuente
Para mi gusto también ...
Marecky
1

OMI, la respuesta más simple es:

  1. Compruebe que el archivo .sh funciona si se hace clic o se ejecuta desde su propio directorio.
  2. Si funciona allí, haga clic derecho en Archivos, también conocido como Nautilus, seleccione 'Hacer enlace'
  3. Esto produce un archivo llamado 'link to xxxx.sh' en el mismo directorio
  4. Arrastra esto al escritorio
  5. Cámbiele el nombre como desee, por ejemplo, limpie 'link to' y 'sh', solo deje el nombre, seguirá funcionando.
Martin Clark
fuente
También puede cambiar el icono del enlace también. Haga clic con el botón derecho en él, seleccione Propiedades, haga clic en el icono predeterminado en la parte superior izquierda de la ventana de propiedades y simplemente navegue hasta encontrar la imagen que desea que sea el icono.
Brian Hellekin
0

Yo diría que la forma más fácil de agregar un script de shell a los accesos directos sería agregar el archivo .sh al directorio de inicio. Una vez copiado en el directorio de inicio, vaya a accesos directos personalizados y agregue el comando sh yourfile.sh

Este fue mi trabajo, espero que te ayude

Markovitz Hernández
fuente