- Xinit linux что это
- EXAMPLES
- xinit (Русский)
- Contents
- Установка
- Настройка
- Запуск
- Автозапуск X при входе в систему
- Автоматический вход в виртуальной консоли
- Советы и рекомендации
- Переопределение xinitrc из командной строки
- Создание выбора DE/WM (Окружения рабочего стола/Оконного менеджера)
- Запуск приложений без оконного менеджера
- Xinit linux что это
- EXAMPLES
- xinit
- Contents
- Installation
- Configuration
- xinitrc
- xserverrc
- Usage
- Tips and tricks
- Override xinitrc
- Autostart X at login
- Switching between desktop environments/window managers
- Starting applications without a window manager
Xinit linux что это
Если в командной строке запуска xinit не указана клиентская программа, которую надо запускать, программа xinit ищет в домашнем каталоге пользователя файл .xinitrc , чтобы выполнить его как сркрипт, запускающий клиентские программы(у). Если такого файла не существует, xinit по умолчанию выполняет вместо этого скрипта команду:
xterm -geometry +1+1 -n login -display :0
Если в командной строке не указано, какой именно X-сервер запускать, xinit ищет в домашнем каталоге пользователя файл .xserverrc , чтобы выполнить содержащийся в нем скрипт запуска сервера. Если такого файла нет, xinit по умолчанию выполняет следующий скрипт:
При этом предполагается, что в одном из каталогов, перечисленных в путях поиска, найдется программа с именем X . Имейте, однако, в виду, что сервера обычно называются Xdisplaytype , где displaytype — это тип графического дисплея, для которого предназначен данный сервер. Администратор сайта, следовательно, должен установить ссылку на подходящий сервер или создать скрипт, который запускает xinit с вызовом соответствующего сервера.
Используя скрипт .xserverrc , удостоверьтесь, что по команде «exec» запускается существующий X-сервер:
В противном случае загрузка будет происходить очень медленно и завершится немедленным выходом. Важно отметить, что программы, запускаемые из .xinitrc , должны запускаться в фоновом режиме, если только они не завершаются немедленно. Иначе эти программы будут препятствовать запуску других программ. Однако одна из запущенных программ (обычно менеджер окон или эмулятор терминала) должна выполняться не в фоновом режиме, а на переднем плане, чтобы работа скрипта не завершалась (завершением работы этой программы пользователь сообщает программе xinit , что закончил работу и что сама программа xinit должна завершиться).
В командной строке может быть указана альтернативная программа-клиент и/или альтернативный сервер. Клиентская программа должна быть первым аргументом в командной строке вызова xinit . Для того, чтобы вызвать конкретный X-сервер, добавьте двойное тире (после указания программы-клиента и ее аргументов), после которого укажите имя нужного сервера.
Имена программы-сервера и программы-клиента должны начинаться со слэша (/) или точки (.). В противном случае они воспринимаются как аргументы, добавляемые в командную строку вызова соответствующей (предыдущей) программы. Таким образом можно добавлять аргументы (например, задавать цвета фона и текста), не вводя заново всю командную строку.
Если конкретное имя сервера не указано и следом за двойным тире идет двоеточие с последующей цифрой, xinit будет воспринимать это число как номер дисплея вместо предполагаемого по умолчанию нуля. Все следующие аргументы добавляются к командной строке вызова сервера.
EXAMPLES
Ниже приведен пример скрипта .xinitrc , который запускает часы, несколько терминалов и оставляет менеджер окон в качестве «последнего» клиента. Если менеджер окон правильно сконфигурирован, то для завершения работы в X-сессии достаточно выбрать пункт «Exit» в меню.
Если администратор хочет создать одинаковое начальное окружение для всех пользователей, можно сделать так, чтобы по умолчанию для пользователя создавался скрипт .xinitrc , который ссылается на общий стартовый скрипт:
Другой подход состоит в создании специального скрипта в оболочке shell, который запускает xinit . Такие скрипты обычно называются x11 , xstart , или startx и являются удобным способом создания простого интерфейса для пользователей-новичков:
Источник
xinit (Русский)
/.xinitrc представляет собой шелл-скрипт передаваемый xinit посредством команды startx . Он используется для запуска Среды рабочего стола, Оконного менеджера и других программ запускаемых с X сервером (например запуска демонов, и установки переменных окружений. Программа xinit запускает Xorg сервер и работает в качестве программы первого клиента на системах не использующих Экранный менеджер.
Одной из основных функций
/.xinitrc является указание, какой клиент X Window System будет запущен каждому пользователю при вызове startx или xinit . Существует множество дополнительных настроек и команд, которые также могут быть добавлены в
/.xinitrc согласно вашей дальнейшей настройке системы.
Большинство DMs также используют подобный xprofile перед xinit.
Contents
Установка
Настройка
Если .xinitrc присутствует в домашнем каталоге пользователя, startx и xinit выполнят его. Иначе startx выполнит по умолчанию /etc/X11/xinit/xinitrc .
Это значение по умолчанию xinitrc запустит базовую среду с Twm, xorg-xclock и Xterm (при условии, что необходимые пакеты установлены). Поэтому, чтобы запустить другой оконный менеджер или окружение рабочего стола, сначала создайте копию по умолчанию xinitrc в вашем домашнем каталоге:
Это делается так (вместо создания с нуля) чтобы сохранить некоторое желаемое поведение по умолчанию в исходном файле, например, поиске скриптов из /etc/X11/xinit/xinitrc.d . Сценарии в этом каталоге без .sh расширения не считаются исходным кодом.
Добавьте нужные команды и удалите/закоментируйте противоречивые строки. Помните, строки, следующие после exec будут игнорироваться. Например, для запуска openbox:
Запуск
Долговыполняемые программы стартуют перед оконным менеджером, такие как заставки и обои приложения. Они должны либо сами выполняться параллельно, либо работать в фоновом режиме (добавьте знак & ). Иначе, сценарий остановится и будет ждать каждую программу, чтобы закончить перед запуском оконного менеджера. Обратите внимание, что некоторые программы не должны стартовать параллельно, во избежании потока ошибок, как в случае с xrdb. Подготовка exec заменит процесс скрипта с процессом оконного менеджера, так что Х не завершится, даже если этот процесс распараллелен в фоне.
Для запуска Xorg от имени обычного пользователя, выполните:
Выбранный вами оконный менеджер (или окружение рабочего стола) теперь запустится правильно.
Для выхода из X, запустите функцию выхода вашего оконного менеджера (при условии, что он есть). Если нет такой возможности, запустите:
Программа xprop доступна в пакете xorg-xprop из Официальных репозиториев.
/.xserverrc .
Автозапуск X при входе в систему
Для Bash, добавьте следующее в нижнюю часть
/.bash_profile . Если файл не существует, скопируйте шаблон-версию с /etc/skel/.bash_profile . Для Zsh, добавьте в
Автоматический вход в виртуальной консоли
Этот метод можно объединить с автоматическим входом в виртуальной консоли. При этом вы должны установить правильные зависимости для выполнения автологина Systemd чтобы убедиться, что dbus запускается до чтения
/.xinitrc и старта pulseaudio (смотрите: BBS#155416)
Советы и рекомендации
Переопределение xinitrc из командной строки
Если у вас есть рабочий
/.xinitrc , но хотите попробовать другие WM/DE, вы можете запустить его используя startx с указанием пути к оконному менеджеру:
Если оконный менеджер принимает аргументы, они должны быть взяты в кавычки в качестве части первого параметра startx:
Обратите внимание что требуется полный путь. По желанию, вы можете также переопределить /etc/X11/xinit/xserverrc файл (который хранит значение по умолчанию X сервера) с пользовательскими опциями, путем добавления их после — , например:
Создание выбора DE/WM (Окружения рабочего стола/Оконного менеджера)
Если вы часто переключаетесь между различными DEs/WMs, рекомендуется использовать Display manager или добавить код в .xinitrc . Следующий код, описанный в нескольких строчках, будет принимать аргумент и загружать желаемое окружение рабочего стола или менеджера окон.
В следующем примере
/.xinitrc показано как запустить конкретную DE/WM с аргументом:
Затем скопируйте файл /etc/X11/xinit/xserverrc в ваш домашний каталог:
После этого, вы можете легко запустить конкретный DE/WM передавая аргумент, например:
Запуск приложений без оконного менеджера
Можно запустить только определенные приложения без оконного менеджера. Хотя, это будет полезно только для одного приложения, запущенного в полноэкранном режиме. Например:
С помощью этого метода необходимо установить геометрию каждого окна приложения с помощью своих собственных файлов настроек, если вообще возможно.
Источник
Xinit linux что это
Если в командной строке запуска xinit не указана клиентская программа, которую надо запускать, программа xinit ищет в домашнем каталоге пользователя файл .xinitrc , чтобы выполнить его как сркрипт, запускающий клиентские программы(у). Если такого файла не существует, xinit по умолчанию выполняет вместо этого скрипта команду:
xterm -geometry +1+1 -n login -display :0
Если в командной строке не указано, какой именно X-сервер запускать, xinit ищет в домашнем каталоге пользователя файл .xserverrc , чтобы выполнить содержащийся в нем скрипт запуска сервера. Если такого файла нет, xinit по умолчанию выполняет следующий скрипт:
При этом предполагается, что в одном из каталогов, перечисленных в путях поиска, найдется программа с именем X . Имейте, однако, в виду, что сервера обычно называются Xdisplaytype , где displaytype — это тип графического дисплея, для которого предназначен данный сервер. Администратор сайта, следовательно, должен установить ссылку на подходящий сервер или создать скрипт, который запускает xinit с вызовом соответствующего сервера.
Используя скрипт .xserverrc , удостоверьтесь, что по команде «exec» запускается существующий X-сервер:
В противном случае загрузка будет происходить очень медленно и завершится немедленным выходом. Важно отметить, что программы, запускаемые из .xinitrc , должны запускаться в фоновом режиме, если только они не завершаются немедленно. Иначе эти программы будут препятствовать запуску других программ. Однако одна из запущенных программ (обычно менеджер окон или эмулятор терминала) должна выполняться не в фоновом режиме, а на переднем плане, чтобы работа скрипта не завершалась (завершением работы этой программы пользователь сообщает программе xinit , что закончил работу и что сама программа xinit должна завершиться).
В командной строке может быть указана альтернативная программа-клиент и/или альтернативный сервер. Клиентская программа должна быть первым аргументом в командной строке вызова xinit . Для того, чтобы вызвать конкретный X-сервер, добавьте двойное тире (после указания программы-клиента и ее аргументов), после которого укажите имя нужного сервера.
Имена программы-сервера и программы-клиента должны начинаться со слэша (/) или точки (.). В противном случае они воспринимаются как аргументы, добавляемые в командную строку вызова соответствующей (предыдущей) программы. Таким образом можно добавлять аргументы (например, задавать цвета фона и текста), не вводя заново всю командную строку.
Если конкретное имя сервера не указано и следом за двойным тире идет двоеточие с последующей цифрой, xinit будет воспринимать это число как номер дисплея вместо предполагаемого по умолчанию нуля. Все следующие аргументы добавляются к командной строке вызова сервера.
EXAMPLES
Ниже приведен пример скрипта .xinitrc , который запускает часы, несколько терминалов и оставляет менеджер окон в качестве «последнего» клиента. Если менеджер окон правильно сконфигурирован, то для завершения работы в X-сессии достаточно выбрать пункт «Exit» в меню.
Если администратор хочет создать одинаковое начальное окружение для всех пользователей, можно сделать так, чтобы по умолчанию для пользователя создавался скрипт .xinitrc , который ссылается на общий стартовый скрипт:
Другой подход состоит в создании специального скрипта в оболочке shell, который запускает xinit . Такие скрипты обычно называются x11 , xstart , или startx и являются удобным способом создания простого интерфейса для пользователей-новичков:
Источник
xinit
The xinit program allows a user to manually start an Xorg display server. The startx(1) script is a front-end for xinit(1) .
xinit is typically used to start window managers or desktop environments. While you can also use xinit to run GUI applications without a window manager, many graphical applications expect an EWMH compliant window manager. Display managers start Xorg for you and generally source xprofile.
Contents
Installation
Configuration
xinit and startx take an optional client program argument, see #Override xinitrc. If you do not provide one they will look for
/.xinitrc to run as a shell script to start up client programs.
xinitrc
/.xinitrc is handy to run programs depending on X and set environment variables on X server startup. If it is present in a user’s home directory, startx and xinit execute it. Otherwise startx will run the default /etc/X11/xinit/xinitrc .
This default xinitrc will start a basic environment with Twm, xorg-xclock and Xterm (assuming that the necessary packages are installed). Therefore, to start a different window manager or desktop environment, first create a copy of the default xinitrc in your home directory:
Then edit the file and replace the default programs with desired commands. Remember that lines following a command using exec would be ignored. For example, to start xscreensaver in the background and then start openbox, use the following:
/.xinitrc file to ensure that the scripts in /etc/X11/xinit/xinitrc.d are sourced.
Long-running programs started before the window manager, such as a screensaver and wallpaper application, must either fork themselves or be run in the background by appending an & sign. Otherwise, the script would halt and wait for each program to exit before executing the window manager or desktop environment. Note that some programs should instead not be forked, to avoid race bugs, as is the case of xrdb. Prepending exec will replace the script process with the window manager process, so that X does not exit even if this process forks to the background.
xserverrc
The xserverrc file is a shell script responsible for starting up the X server. Both startx and xinit execute
/.xserverrc if it exists, startx will use /etc/X11/xinit/xserverrc otherwise.
In order to maintain an authenticated session with logind and to prevent bypassing the screen locker by switching terminals, Xorg has to be started on the same virtual terminal where the login occurred [1]. Therefore it is recommended to specify vt$XDG_VTNR in the
See Xserver(1) for a list of all command line options.
Alternatively, if you wish to have the X display on a separate console from the one where the server is invoked, you can do so by using the X server wrapper provided by /usr/lib/systemd/systemd-multi-seat-x . For convenience, xinit and startx can be set up to use this wrapper by modifying your
Usage
To run Xorg as a regular user, issue:
Or if #xserverrc is configured:
Your window manager (or desktop environment) of choice should now start correctly.
To quit X, run your window manager’s exit function (assuming it has one). If it lacks such functionality, run:
Tips and tricks
Override xinitrc
If you have a working
/.xinitrc but just want to try other window manager or desktop environment, you can run it by issuing startx followed by the path to the window manager, for example:
If the binary takes arguments, they need to be quoted to be recognized as part of the first parameter of startx:
Note that the full path is required. You can also specify custom options for the #xserverrc script by appending them after the double dash — sign:
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Autostart X at login
Make sure that startx is properly configured.
Place the following in your login shell initialization file (e.g.
/.bash_profile for Bash or
You can replace the -eq comparison with one like -le 3 (for vt1 to vt3) if you want to use graphical logins on more than one virtual terminal.
Alternative conditions to detect the virtual terminal include «$(tty)» = «/dev/tty1» , which does not allow comparison with -le , and «$(fgconsole 2>/dev/null || echo -1)» -eq 1 , which does not work in serial consoles.
If you would like to remain logged in when the X session ends, remove exec .
Switching between desktop environments/window managers
If you are frequently switching between different desktop environments or window managers, it is convenient to either use a display manager or expand
/.xinitrc to make the switching possible.
The following example shows how to start a particular desktop environment or window manager with an argument:
To pass the argument session:
Starting applications without a window manager
It is possible to start only specific applications without a window manager, although most likely this is only useful with a single application shown in full-screen mode. For example:
Alternatively the binary can be called directly from the command prompt as described in #Override xinitrc.
With this method you need to set each application’s window geometry through its own configuration files (if possible at all).
Источник