Как автоматически запускать файлы и скрипты в Ubuntu при вставке USB-флешки, например autorun.inf в Windows?


12

Есть ли способ выполнить определенный скрипт или открыть файл с определенной программой при вставке флешки в Ubuntu, как autorun.infфайл в Windows? Если нет, есть ли другой способ?

РЕДАКТИРОВАТЬ: Согласно полученному ответу, я создал файл в корневой папке USB с именем autorunвыше:

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

Я также создал файл с именем autorun.infвыше:

[autorun]
icon=icon.ico

autorun.infФайл определяет значок USB . Из приведенных выше файлов автозапуска только autorun.infкажется, что работает. autorunФайл сценария, при выполнении выводит сообщение выше.

сообщение об ошибке автозапуска

Я делаю что-то не так или есть еще параметры для настройки для запуска сценария ?

PS: файлы myText.txt и icon.ico находятся в корневой папке USB .

Кроме того, autorunи в autorun.infфайловом режиме биты были установлены на 755, используя:

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

Ответы:


12

Open System Settings> Details> Removable Mediaи установить SoftwareнаRun Software

Съемные медиа

Ваш USB-накопитель должен быть отформатирован с файловой системой Linux, такой как EXT4 .

Создайте сценарий оболочки с именем autorun(или autorun.sh, не имеет значения) на USB-накопителе и сделайте его исполняемым с помощью chmod 755 autorun.

В следующий раз, когда вы вставите USB-накопитель, Ubuntu уведомит вас об автозапуске и спросит, хотите ли вы выполнить это.

Спросите перед автозапуском

Для автоматического открытия документа вы можете использовать xdg-open

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

Откроется myDocument.odtприложение по умолчанию для этого mime-типа. То же самое будет работать и со всеми остальными файлами.

Чтобы иметь собственный значок для USB-накопителя, вы можете создать autorun.infфайл со следующим содержимым

[autorun]
icon=icon.png

и разместите свою иконку как icon.pngна Стике.


autorun.infв Ubuntu поддерживают следующие команды (посмотрите на autorun.inf в Википедии ):

[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

Я попробовал это, и когда я нажимаю на запустить, я получаю это сообщение. Кроме того, есть ли способ вставить свойство icon где-нибудь в сценарии, или я должен создать autorun.inf с содержимым [autorun] icon=icon.ico?
pgmank

Ваш сценарий должен начинаться с #!/bin/sh. Извините, если это раздражало. Строка выше была просто для отображения содержимого файла autorun.
Джермар

Сообщение об ошибке отображалось, пока в скрипте содержалось только объявление оболочки и команда. Я не добавлял catкоманду сверху. Я также пытался открыть, geditно появилось то же сообщение об ошибке. Кроме того, если autorun.inf поддерживается в Ubuntu, может ли он также открыть скрипт, кроме установки значка usb?
pgmank

Пожалуйста, оставьте свой полный сценарий (отредактируйте свой вопрос). Нет, autorun.infне могу запустить скрипт ( open=...не работает).
Джермар

1
Это было бы очень небезопасно, поскольку запускало бы программы со всех неизвестных устройств, которые могли бы подготовить бен к атаке на вас. Я бы не рекомендовал делать это.
Жермар
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.