Я создал этот лаунчер, который запускает оболочку:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=gnome-sudoku
Name[en_US]=MServer.desktop
Exec=/home/lucasfonseca/myapplication/server.sh
Comment[en_US]=bla=foo
Name=MServer
Comment=foo
Icon=gnome-sudoku
На server.sh у меня есть:
#!/bin/bash
python webserver/server.py
Когда я нажимаю на лаунчер, он открывается и закрывается. Я не получаю сервер, запущенный. Как мне сделать так, чтобы сервер работал в окне терминала, когда я открываю этот лаунчер?
решение1
На самом деле проблема была в неправильном пути.
Я использовал этот код для получения относительного пути и выполнения скрипта:.sh/server.sh
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=gnome-panel-launcher
Name[en_US]=Server
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k
Comment[en_US]=aaaaaaaaaaa
Name=Server
Comment=aaaaaaaaaaa
Icon=gnome-panel-launcher
Дружеский совет: когда возникает ошибка, лаунчер не показывает терминал. Поэтому я рекомендую вам поместить что-то вроде ping localhost
final вашего скрипта (как у меня server.sh
), чтобы вы могли просматривать возможные сообщения об ошибках при разработке.