Когда мы хотим открыть приложение или файл из терминала, мы набираем, скажем,
okular file.dvi
Это открывает приложение, но также показывает статус приложения. Мы не можем закрыть терминал, потому что он убивает процесс. К сожалению, если вы пытаетесь, например, создать файл LaTeX, вам понадобится одна вкладка для текстового редактора, одна вкладка для файла dvi и так далее. И если вы пытаетесь открыть все окна из терминала, вы можете забыть об этом. Я пытаюсь использовать терминал как можно больше, и, хотя у меня есть Yakuake, все еще надоело иметь столько вкладок и видеть, у каких из них есть приложение, которое я убил и так далее.
Итак, есть ли способ открыть приложение / файл из терминала, чтобы статус не отображался, и немедленно выдает подсказку, чтобы мы могли использовать его для открытия большего количества приложений?
xdg-open file.dvi
xdg-open
откроет любой файл со своим приложением по умолчанию. В качестве бонуса можно закрыть терминал, не убивая приложение.
Поскольку xdg-open
- довольно длинное имя, я вписал псевдоним для него в .bashrc
:
alias open='xdg-open'
okular file.dvi &
просто добавьте и
, чтобы ваша команда работала как отдельный процесс.
С, скажем, evince file.pdf &
, закрытие терминала все равно закроет процесс, так что он все еще является дочерним процессом терминала и не имеет от него никакой независимости; nohup evince file.pdf &
позволит закрыть терминал без закрытия программы, так как nohup означает, что любые сигналы процесса к закрытию (hangup) будут игнорироваться. Аналогичным образом можно и отключить процесс, смотрите эту дискуссию здесь .
okular file.dvi &> /dev/null &
было бы немного лучше. Таким образом, программа не будет писать в терминал.
Если вы используете только okular file.dvi &
, то программа все равно будет сообщать на терминал, часто в середине работы