Таким образом, я пытаюсь запустить Programm при помощи терминала, но я также не хочу, чтобы он был заблокирован к упомянутому терминалу.
я добавил псевдоним в bashrc для легкого запуска:
alias tksuite='sudo sh /usr/local/tksuite_client/run_client.sh && ^Z && bg && disown'
Я также попробовал это:
alias tksuite='sudo sh /usr/local/tksuite_client/run_client.sh \& && disown'
то, которое unfortunally также не работало или лучше сказало, работало, но не, поскольку мне нравится, когда это, так как программа не показывала, но работала.
Какие-либо идеи/указатели, где я иду не так, как надо?
Править: Забыл упоминать: Ubuntu 14.04
Отправка процесса к фону работает по-другому, чем Вы принимаете особенно в сочетании с sudo
. По этим причинам я рекомендую совершенно другой подход:
Создайте сценарий оболочки tksuite
в некотором каталоге, происходящем в $PATH
, например. /usr/bin/tksuite
:
#!/bin/sh
exec /bin/sh /usr/local/tksuite_client/run_client.sh "$@"
Сделайте это исполняемым файлом:
sudo chmod +x /usr/bin/tksuite
Теперь можно запустить сценарий с полномочий суперпользователя в фоне с
gksudo tksuite & disown
Кроме того, это может все быть сделано в функции оболочки
tksuite() {
gksudo -- sh /usr/local/tksuite_client/run_client.sh "$@" &
disown
}
invokable с tksuite
поскольку Вы предназначили.