2015-04-01 1 views
0

Итак, я собираюсь написать скрипт, и мне нужно его автоматически открыть xterm, когда я дважды щелкнул его (аналогично BAT в Windows). Он должен работать на любом рабочем столе, включая xterm. Так, например, он выполнит проверку, если он уже запущен в xterm, тогда, если он не будет снова открываться в xterm, и если это сценарий, он продолжит свой процесс. Извините, если это уже было задано, но я не смог найти что-либо для жизни.Linux: как автооткрыть терминал при запуске скрипта

ответ

0

Вы можете сделать это следующим образом:

xterm -e program [ arguments ... ] 

От человека странице Linux ...

Этот параметр определяет программу (и ее аргументы командной строки) в запустить в окно xterm. Он также устанавливает заголовок окна и значок как базовое имя исполняемой программы, если в командной строке не указаны ни -T , либо -n. Это должна быть последняя опция в командной строке .

+0

Это отлично работает, спасибо чувак. – QuaDECH

+0

Фактически, это не проверяется и не возобновляется в соответствии с запросом. Однако, скорее всего, не существует более сжатого метода для этого. –

+0

@ThomasDickey Все в порядке, я нашел для него другой код в Интернете. – QuaDECH

0

Принимая во внимание, что для других сценариев можно установить переменные среды (в том числе выполненные по неправильным причинам), вы можете проверить одну из переменных среды, установленных xterm. Например (см manual):

XTERM_VERSION установлен в строке отображается с помощью опции -версия. То есть обычно является идентификатором библиотек X Window, используемых для построения xterm, а затем в скобках указывается номер патча xterm. Патч номер также является частью ответа на вторичное устройство. Контрольная последовательность атрибутов (DA) (см. Xterm Control Sequences).

Эта переменная была добавлена ​​в 2005 году (patch #202), поэтому она должна быть доступна в любой системе, к которой у вас есть доступ.

В сценарии, вы можете сделать эту проверку в одной строке, например,

#!/bin/sh               
test -z "$XTERM_VERSION" && exec xterm -e $0 $* 
view $* 

Проверяется, если данная переменная установлена, и если нет, то он передает управление XTerm проходящей информацию, необходимую для запуска сценарий с самого начала.

 Смежные вопросы

  • Нет связанных вопросов^_^