Come eseguire l'esecuzione automatica di file e script in Ubuntu quando si inserisce una chiavetta USB come autorun.inf in Windows?


12

C'è un modo per eseguire uno script specifico o aprire un file con un particolare programma quando si inserisce una chiavetta USB su Ubuntu come il autorun.inffile in Windows? In caso contrario, c'è un altro modo?

EDIT: Secondo la risposta che ho ottenuto ho creato un file nella cartella principale USB denominata autoruncon i contenuti sopra:

#!/bin/sh
xdg-open myText.txt

Ho anche creato un file chiamato autorun.infcon i contenuti sopra:

[autorun]
icon=icon.ico

Il autorun.inffile specifica l' icona USB . Dai file autorun.infdi esecuzione automatica sopra sembra funzionare solo il file . Il autorunfile di script, quando eseguito, visualizza il messaggio sopra.

messaggio di errore di esecuzione automatica

Sto facendo qualcosa di sbagliato o ci sono altri parametri da configurare per eseguire lo script ?

PS: i file myText.txt e icon.ico sono collocati nella cartella principale USB .

Inoltre, i bit della modalità file autorune autorun.infsono stati impostati su 755, utilizzando:

cd /path/to/usbFolder
chmod 755 autorun
chmod 755 autorun.inf

Risposte:


12

Aprire System Settings> Details> Removable Mediae impostare SoftwareaRun Software

Supporti rimovibili

La chiavetta USB deve essere formattata con un file system nativo Linux come EXT4 .

Crea uno script di shell con il nome autorun(o autorun.sh, non importa) sulla tua chiavetta USB e rendilo eseguibile con chmod 755 autorun.

La prossima volta che inserisci la chiavetta USB, Ubuntu ti avviserà dell'autorun e ti chiederà se desideri eseguirlo.

Chiedi prima di autorun

Per aprire automaticamente un documento che è possibile utilizzare xdg-open

#!/bin/sh
xdg-open myDocument.odt

Questo si aprirà myDocument.odtcon l'applicazione predefinita per questo tipo MIME. Quindi funzionerà allo stesso modo con tutti gli altri file.

Per avere un'icona personalizzata per la tua chiavetta USB puoi creare un autorun.inffile con il seguente contenuto

[autorun]
icon=icon.png

e posiziona la tua icona come icon.pngsullo stick.


autorun.infsu Ubuntu supportano questi comandi (dai un'occhiata a autorun.inf su Wikipedia ):

[autorun]
icon=iconfilename[,index]
label=text

[Content]
MusicFiles=yes|no
PictureFiles=yes|no
VideoFiles=yes|no

[ExclusiveContentPaths]
/pictures
/music
more music/special

[IgnoreContentPaths]
/pictures
/music
more music/special

Ho provato questo e quando faccio clic su Esegui, ricevo questo messaggio. Inoltre, c'è un modo per inserire la proprietà icon da qualche parte nello script o dovrei creare un autorun.inf con i contenuti [autorun] icon=icon.ico?
pgmank,

Il tuo script deve iniziare con #!/bin/sh. Scusa se questo è stato irritante. La riga sopra era solo per mostrare il contenuto del file autorun.
Germar,

Il messaggio di errore veniva visualizzato mentre il contenuto dello script conteneva solo la dichiarazione della shell e il comando. Non ho aggiunto il catcomando in alto. Ho anche provato ad aprire geditma è apparso lo stesso messaggio di errore. Inoltre, se autorun.inf è supportato su Ubuntu, potrebbe anche aprire uno script oltre all'impostazione dell'icona usb?
pgmank,

Pubblica il tuo script completo (modifica la tua domanda). No, autorun.infnon è possibile eseguire uno script ( open=...non funziona).
Germar,

1
Sarebbe molto insicuro in quanto darebbe l'avvio a programmi da ogni dispositivo sconosciuto che potrebbe avere bin pronto ad attaccarti. Non lo consiglierei.
Germar,
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.