Чтобы смочь запустить приложение, не указывая целый путь к нему, каталог, где исполняемый файл установлен, должен быть в $PATH
переменная. Можно проверить то, что находится в $PATH
при помощи echo $PATH
. Изменить $PATH
можно использовать export PATH=$PATH:/usr/lib64/qt4/bin/
. После этого можно использовать просто moc
запустить его. Для внесения изменений постоянными, можно поместить ту строку в Ваш ~/.bashrc
файл.
В дополнение ко всем ссылкам на :1, :2 и т.д., вы также можете указать сетевое имя или ip-адрес перед двоеточием, например, 192.168.0.1:0 - это соединится с машиной по сети. Большинство современных X-серверов имеют аутентификацию ("MIT-MAGIC-COOKIE"), вам придется разобраться с этим перед подключением - смотрите xhost
и xauth
.
Также, если вы используете ssh -X
, то любые команды X, которые вы запустите в этой ssh сессии, будут подключены к другому порту (быстрый тест на моем ящике показывает :10
), который затем будет протолкнут через ваше ssh соединение обратно к ящику, откуда вы пришли, и появится на вашем экране там.
Это имеет отношение к Серверу X Window. Они определяют, каковы числа дисплея там.
Вы не должны должны быть волноваться о явной поддержке числа дисплея; самое большее Вы просто вручаете ссылку на библиотеку X Window Client и позволяете ей понять это.
Современные серверы могут сделать несколько дисплеев доступными с мультиглавными адаптерами и с несколькими адаптерами. Подавляющее большинство времени, :0
будет Ваш единственный дисплей. Это вызвано тем, что действительно существует только один, и это - число по умолчанию, когда существует всего один. Возможно заставить его запуститься как :2
, который необычен, но все все еще работало бы хорошо.
С мультиглавными дисплеями и/или несколькими картами, возможно иметь X-сервер, управляют несколькими дисплеями как дискретными экранами (т.е. с вещами как выключенный Xinerama). Затем можно получить числа дисплея как :0.0
и :0.1
. Я раньше выполнял рабочий стол как это в течение долгого времени. Ничто не повредилось, потому что все взяло число дисплея и просто вручило его библиотеке X Client. Одно необычное преимущество состояло в том, что каждый экран получает свой собственный список виртуальных рабочих столов. В дисплее Xinerama Вы не можете сделать этого. Но у Вас есть недостаток неспособности переместить окна между экранами, потому что у них есть различные числа дисплея.
Можно даже сделать, вещам нравится, выполняет несколько X-серверов. Именно тогда Вы добираетесь :0
и :1
и т.д. Проблема с этим состоит в том, кто получает клавиатуру и мышь.
По умолчанию машина будет обычно только выполнять один дисплей-:0, который обычно находится на VT 7.
При выполнении второго X-сервера это будет:1. Можно сделать это из командной строки, но более легкий путь состоит в том, чтобы выбрать "start new session" в KDE (я предполагаю, что GNOME имеет некоторый эквивалент, но я не знаком с ним). Это позволяет Вам войти в систему снова на втором X-сервере, который будет работать на VT 8 (т.е. можно подкачать между ними с Ctrl-Alt-F7 и Ctrl-Alt-F8).
Необходимо затем смочь запустить приложения на любом при помощи "ДИСПЛЕЯ =:1 xterm" или что бы то ни было.
Можно только получить доступ к дисплеям, которые существуют на компьютере (обычно только один 0). Однако существуют программы, которые могут создать новые дисплеи как окна как xnest.
Но lacqui и staticsan являются правильными, большую часть времени Вы не заботитесь о дисплеях.
Для получения дополнительной информации пойдите и читайте о X-оконной системе.
Не волнуйтесь об использовании других дисплеев сначала. Вероятно, единственное время, которое необходимо будет взволновать по поводу дисплеев, - когда Вы соединяетесь с удаленным компьютером и подключаете свои удаленные приложения к дисплею.
Ваши приложения, которые Вы пишете, не должны будут непосредственно волноваться о дисплее; X библиотек будут заботиться о нем для Вас.
Я действительно на самом деле выполняю два X-сервера (приблизительно X программ, которые я использую, не любит современные менеджеры окон).
В моей установке каждый из них получает VTERM, и активный имеет клавиатуру и мышь.
Пользователь staticsan сказал о проблеме:
Можно даже сделать, вещам нравится, выполняет несколько X-серверов. Именно тогда Вы добираетесь:0 и:1 и т.д. Проблема с этим состоит в том, кто получает клавиатуру и мышь.
Мне было интересно, почему точно это становится проблемой, "кто получает клавиатуру и мышь". Я нашел ответ в статье, рекомендуйте пользователем Charlie Martin в моем другом вопросе в [1]:
отдельный дисплей определяется документацией X11 как имеющий точно одну клавиатуру и один указатель (т.е. мышь), но потенциально несколько центральных процессоров, мониторов, и т.д.
[1] https://stackoverflow.com/questions/746263/how-do-the-server-extensions-work-in-x/746286#746286