2

У меня есть самодельный скрипт, который делает скриншот и загружает его в puush, и я поместил скрипт в /usr /bin. Если я открою терминал и напишу имя скрипта, он отлично работает. Я использую Debian Unstable(Sid) с Gnome3.

То, что я пытаюсь сделать, это поставить скрипт на сочетание клавиш или, по крайней мере, запустить его без открытия терминала. Я пытался использовать Alt+F2, чтобы открыть командную строку, но по какой-то причине мой скрипт не запускается, даже если я пытаюсь вызвать его таким образом. То же самое, если я добавлю скрипт к сочетанию клавиш.
Я также посмотрел на разрешения для файла, и каждому разрешено читать или запускать скрипт, и он принадлежит пользователю root и находится в корневой группе, как и другие программы.

Ссылка на скрипт

Цель состоит в том, чтобы запустить самодельный сценарий с помощью сочетания клавиш и использовать командную строку в качестве дополнительного параметра, если сочетание клавиш не работает. Я нахожусь в тупике, что делать, хотя.

Вещи, проверенные до сих пор:
Использование всего пути для запуска скрипта.
Откройте gnome-терминал и передайте скрипт в качестве параметра «gnome-terminal -e script»
добавлять #!/bin/bash в начале скрипта

2 ответа2

2

Командная строка, открываемая Alt+F2, не обязательно имеет тот же $PATH что и ваша оболочка входа в систему, которая выполняется в терминале.

Вы можете увидеть значение $PATH которым gnome-shell

strings /proc/`pidof gnome-shell`/environ | grep PATH

Если /usr/bin отсутствует в этом списке, вам нужно изменить ~/.profile чтобы включить /usr/bin в $ PATH`:

PATH="/usr/bin:$PATH"

Другая проблема заключается в том, что Alt+F2 не может запустить bash или другие оболочки. Чтобы обойти это, используйте Alt+F2 для запуска gnome-terminal и запуска скрипта. Итак, после нажатия Alt+F2 введите

gnome-terminal -e my-script.sh

Это приведет к нежелательному побочному эффекту: появится окно gnome-terminal , которое закроется после выполнения скрипта.

Звучит так, будто вам лучше обслужить что-то вроде Guake, которое позволяет вам сбросить полный терминал одним нажатием кнопки (скриншоты).

0

Задача решена. Видимо у меня был отступ на #!/bin/bash, я удалил это, чтобы не было пробелов, концевых линий или чего-либо подобного до #. Сценарий теперь запускается из Alt+F2, а также из сочетания клавиш, хотя и с небольшим временем отклика, а не каждый раз, когда я нажимаю.

Спасибо @FSMaxB за то, что он заставил меня изучить более подробную информацию о Шебанге, и спасибо tbekolay за некоторые твердые советы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .