Come eseguire sh script da un collegamento sul desktop?


37

Sto cercando di creare un collegamento per accedere al mio server SSH:

ssh x.x.x.x

Ho creato il seguente file:

ssh_home.sh

Reso eseguibile:

sudo chmod +x ./ssh_home

Controllato facendo clic con il tasto destro del mouse sulle proprietà per verificare se era eseguibile ed era ..

Ma qualunque cosa faccia, facendo doppio clic su di esso, avvierà gedit. Ho provato "Apri con" ma non viene visualizzata alcuna app terminale. Ho cercato in rete ma ho trovato solo un modo per collegarmi al file senza integrarlo in un "file di scelta rapida"


2
Hai aggiunto #! /usr/bin/shall'inizio del file (la prima riga)?
Miseria

Per interesse, quale versione di Ubuntu stai utilizzando? In linea di principio dovrebbe essere solo un caso di contrassegnare il file come eseguibile in Proprietà / Autorizzazioni, ma su 13.04 questo sembra non funzionare per me (anche direttamente sul file .sh, con #! /bin/bashall'inizio ...)
Jez W

Controlla anche il proprietario e le autorizzazioni. L'utente che fa clic su di esso dispone dell'autorizzazione per eseguirlo?
Miseria

1
I tuoi comandi non possono essere corretti: ti riferisci a ssh_home.she /ssh_home, che non sono gli stessi file.
l0b0

2
@Misery: /bin/shnon lo è /usr/bin/sh. ( /usr/bin/shfunzionerà su sistemi in cui /bine /usr/binsono la stessa directory; non credo sia il caso di Ubuntu>)
Keith Thompson,

Risposte:


50

So che è successo un po 'di tempo fa, ma se qualcuno lo chiede, ho questa risposta.

  1. Apri nautilus
  2. Menu File -> scheda comportamento
  3. Esegui file di testo eseguibili quando vengono aperti

Nelle versioni successive questa opzione si trova in: menu File -> Modifica -> Preferenze -> scheda comportamento

In Ubuntu 14.10 spostare il mouse nella parte superiore dello schermo e viene visualizzata la barra dei menu File, Modifica ecc ... Fai clic su MODIFICA -> Preferenze -> scheda Comportamento


2
Questa dovrebbe essere la risposta accettata IMHO. Mi sentivo piuttosto frustrato nel cercare di capire perché non potevo eseguire lo script di shell di Nautilus.
David Baucum,

Cos'è il menu File? Non l'ho mai visto
IgorGanapolsky

Lavorato. Fai clic destro sul mio script shell nel browser dei file. Link creato. Quindi trascina e rilascia il link sul desktop. Inoltre ha fatto il passaggio sopra nel file sfogliare -> Preferenze-> esegui anziché visualizzare.
maxweber,

3
Una complicazione è che questo riguarda tutti i file eseguibili. (Potrebbe essere quello che vuoi.)
Keith Thompson,

Bella risposta! Su Ubuntu 18.04, l'ho impostato su "Chiedi cosa fare", quindi posso scegliere di eseguirlo o visualizzarlo ogni volta che faccio doppio clic su tale file. Grazie!
MS Berends,

36

Penso che sarebbe meglio usare un file di avvio per il tuo script creando un ~/Desktop/ssh_home.desktopfile con i seguenti contenuti:

[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;

In questo modo avrai un'icona cliccabile che avvierà il tuo script.

Potrebbe essere necessario impostare anche il flag eseguibile con chmod:

chmod +x ~/Desktop/ssh_home.desktop

1
Questo metodo funziona ma preferisco una soluzione a 1 file ...
michel

6
@michel Se viene eseguito tutto lo script, non è ssh hostnecessario lo script, basta cambiare la riga Exec in Exec=ssh host.
geirha,

1
Questa è l'unica soluzione che ha funzionato per me.
Aviad P.

Ottengo la Untrusted application launcherfinestra di messaggio e non esegue il mio comando.
Matt,

@Matt provare a fare clic con il tasto destro sull'icona, andare a Properties > Permissionsquindi selezionare Allow executing file as program. Inoltre, se copi e incolli il testo sopra nel tuo file, assicurati che non ci siano spazi vuoti finali dopo le righe. Ciò potrebbe causare il tuo messaggio di errore.
Olivia Stork, il

3

La "trappola" per me era che ho cercato facendo clic con il pulsante destro del mouse sul file per trovare un modo per modificare il comportamento (per eseguire uno script anziché aprirlo in gedit). Non fare clic con il tasto destro! Piuttosto aperto dalla barra dei menu "normale":

Modifica-Preferenze-Comportamento e cambia in "esegui" o "chiedi ogni volta".

Commento: Per i miei gusti dovrebbe esserci un modo per eseguire un programma anche facendo clic con il tasto destro. Soprattutto dal momento che il clic destro porta al menu "apri con", che ti fa cercare "apri con bash", tuttavia "bash" non è incluso come opzione ...


Anche per i miei gusti ...
Marecky,

1

imo la risposta più semplice è -

  1. Verificare che il file .sh funzioni se si fa clic o si esegue dalla propria directory.
  2. Se funziona lì, fai clic destro su di esso in File aka Nautilus, seleziona "Crea collegamento"
  3. Questo produce un file chiamato 'link to xxxx.sh' nella stessa directory
  4. Trascina questo sul desktop
  5. Rinominalo come desideri, ad es. Pulisci "link to" e "sh", lascia il nome, funzionerà comunque.

Inoltre puoi cambiare anche l'icona del link. Fai clic con il pulsante destro del mouse, seleziona Proprietà, fai clic sull'icona predefinita nella parte in alto a sinistra della finestra delle proprietà, quindi naviga fino a trovare l'immagine che desideri essere l'icona.
Brian Hellekin,

0

Direi che il modo più semplice per aggiungere uno script di shell alle scorciatoie sarebbe quello di aggiungere il file .sh alla directory home. Una volta copiato nella home directory, vai alle scorciatoie personalizzate e aggiungi il comando sh yourfile.sh

Questo è stato il mio lavoro attorno alla speranza che ti aiuti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.