Я хочу сделать кнопку на своем lxpanel для запуска программы, которая распечатывает Hello World!
во всплывающем окне lxterminal, таким образом, я использую технику, которую я успешно реализовал прежде в Debian 7, который является:
gedit /bin/hello.sh
(содержание ниже):
#!/bin/bash
echo 'Hello World!';
gedit /usr/share/applications/hello1.desktop
(ниже):
[Desktop Entry]
Version=1.0
Type=Application
Name=Hello1
Comment=Test the terminal running a command inside it
Exec=lxterminal -e "/bin/hello.sh"
StartupNotify=true
Icon=utilities-terminal
Terminal=true
Categories=Utility;
В последний раз я chown
и chmod
оба из вышеупомянутых файлов как указано ниже:
-rwxr-xr-x 1 a adm 230 1月 1 13:02 /usr/share/applications/hello1.desktop*
-rwxr-xr-x 1 a adm 240 1月 1 12:57 /usr/share/applications/hello1.desktop~*
-rwxr-xr-x 1 a adm 194 1月 1 12:04 /usr/share/applications/hello.desktop*
-rwxr-xr-x 1 a adm 195 1月 1 12:03 /usr/share/applications/hello.desktop~*
-rwxrwxr-x 1 a adm 87 1月 1 12:35 /usr/share/applications//bin/hello.sh*
-rwxrwxr-x 1 a a 87 1月 1 12:25 /usr/share/applications//bin/hello.sh~*
-rwxrwxr-x 1 a adm 134 12月 13 09:56 /usr/share/applications//bin/hello_world.sh*
К сожалению независимо от того, что я делаю, hello1.desktop
файл только может открыть пробел lxterminal, и нет никакого вывода.
Я выполняю Lubuntu 14.04 и следовал следующим учебным руководствам для соединения файла на рабочем столе с *.sh программой сценария:
Я также сделал следующие изменения к hello1.desktop
:
строка 6 ("Исполнительная" строка) - попробовала их:
Exec=sh /bin/hello.sh;
Exec=lxterminal -e “/bin/hello.sh”
Exec=/bin/hello.sh
Exec=sh -c /bin/hello.sh
Exec=lxterminal -x sh -c 'echo hello'
Exec=sh -c 'gnome-terminal echo hello'
Exec=sh -c 'echo hello'
Exec=sh /bin/hello.sh
Exec=sh -c /bin/hello.sh
Но в конце все - то же (кроме тех случаев, когда Terminal=false
на строке 9 нет никакого терминала, очевидно).
Я вижу hello1
под Системой-> высовываются Аксессуары, но когда я нажимаю на него все еще просто пустой экран. В debian 7.5 LXDE, хрипящем, это действительно легко сделать успешно, но что не так в Lubuntu 14.04 для создания этого настолько более трудным?
Andrew
Мне удалось копировать Вашу проблему и иметь решение.
, Поскольку Ваше исследование сказало Вам, Ваша исходная проблема имела:
Terminal=true
вместе с:
Exec=lxterminal -e /bin/hello.sh
единственная проблема, это, когда Вы используете:
Terminal=false
терминальные завершения после выполнения сценария, хотя это действительно на самом деле выполняет Ваш сценарий. Поскольку Ваш сценарий производит так мало вывода, не по-человечески возможно видеть, что это происходит так, это походит на "высовывающийся пустой экран".
, Насколько я вижу (от man lxterminal
и от Google), нет никакого особенного метода попросить, чтобы lxterminal остался открытым после того, как это выполнило сценарий, таким образом, необходимо изменить сценарий удара (т.е. hello.sh) сам.
, Например, Вы могли добавить любое из следующего до конца Вашего сценария.
echo "Press [ENTER] to exit" && read
/bin/bash
Для обсуждения общей проблемы того, чтобы мешать оболочке закрыться после выполнения команды, включая информацию о других эмуляторах терминала, см.: , Как выполнить сценарий, не закрывая терминал?
По тому, как точка с запятой в конце Файла на рабочем столе ничего не делает, таким образом, Вы могли бы также удалить его.
Сводка : единственное изменение, которое необходимо внести в исходный файл на рабочем столе, Terminal=false
, но необходимо добавить строку до конца сценария удара, если Вы хотите видеть, что сценарий работал.