Моя интерпретация Стандарта иерархии файловой системы (FHS) такова: что каталоги в иерархии / usr
предназначены для файлов, которые не требуются для локальной системы для загрузки (и подключения к сети).
Большинство программ, выполняемых обычными пользователями, которые не нужны для загрузки или восстановления системы и которые не устанавливаются локально, должны быть помещены в этот каталог.
Это описание относится к программам, которые могут быть установлены нелокально, то есть на удаленном сервере (доступном по сети). Эта интерпретация имеет смысл при чтении в контексте следующего описания из man hier
:
/ usr
Этот каталог обычно монтируется из отдельного раздела. Он должен содержать только данные, доступные только для чтения, чтобы их можно было монтировать на различных машинах под управлением Linux.
После того, как система загрузилась и подключилась к сети, каталоги, совместно используемые по сети через NFS (сетевая файловая система), могут быть смонтированы (только для чтения) в точки монтирования в иерархии / usr
.
Запуск startx
имеет смысл, только если вы находитесь перед компьютером. Тестирование на владение консолью - один из способов определить это. Как вы выяснили, его можно обмануть, работая в сеансе screen
. В таком случае X для вас.
Чтобы понять это, сначала мы должны понять разницу между терминалом, оболочкой и консолью.
виртуальные консоли, потому что раньше это было физическое устройство . но теперь это не отдельное устройство. поэтому мы называем это виртуальными терминалами.
Большинство современных терминалов, строго говоря, являются эмуляторами терминалов. Это тип роли в работе UNIX-подобной системы и в то же время основной интерфейс, предлагаемый системами.
Фактически все, включая графический интерфейс пользователя, строится поверх него. [1]
В разговорной речи мы можем сказать, что «терминал» относится к конечным точкам в компьютерной сети с топографией «звезда».
тогда возникает вопрос. Поскольку графический интерфейс создается на консоли. тогда что делать, если мы хотим выполнить некоторые операции в командной строке. и ответ на этот вопрос - терминал ... который далее эмулирует консоль ... и давайте введем в него нашу любимую команду.
объяснение [1]
Итак, здесь мы знаем, что даже графический интерфейс создается на консоли ... и, вводя команду
startx
, вы снова запрашиваете открытие и новый XServer.Так что подумайте сами, почему терминал GUI должен позволять вам это делать ??? [вы хотите сломать свой XServer ??]. и , если вы действительно хотите принудительно выполнить эту команду .. просто запустите командуstartx
с правами администратора. у вас все получится, но вы наверняка нарушите время выполнения XServer.
и отвечу на ваш последний вопрос .. [К какому ресурсу вы можете получить доступ на "сырой" консоли, к которому вы не можете получить доступ в оболочке, работающей под экраном?]
Фактически, до сих пор я не Я не видел случая, чтобы я не мог получить доступ к ресурсу через терминал, работающий на Xserver. У вас должна быть возможность получить доступ ко всем ресурсам с помощью внутреннего графического интерфейса пользователя Xserver .. (потому что он тоже был разработан для удовлетворения всех потребностей, которые давала обычная консоль !!!) ..
Но выполнение команды, которая приводит к тому же Так как обрезка ветки дерева, сидя точно на этой ветке ... определенно создаст ошибку.
В области компьютерных наук все имеет смысл.
Типичная система Linux имеет фиксированное количество виртуальных терминалов/консолей (VC ), которым назначены устройства /dev/tty1
, /dev/tty2
и т. д. Они используются для оболочек входа в консоль, и доступ к ним можно получить с помощью нажатия клавиш Ctrl -Alt -F1, Ctrl -Alt -F2 и т. д.
Кроме того, существуют псевдотерминалы (PTY ), которые имеют такие имена, как /dev/pts/19
. Они используются для эмуляторов терминалов, таких как Xterm, для сеансов SSH, экранных окон и так далее.
Вы можете узнать, на каком типе работает ваша оболочка, вот так:
$ echo $TTY
/dev/pts/19
По причинам, которые мне не совсем ясны, полноэкранное -графическое программное обеспечение, такое как Xorg, должно быть связано с виртуальной консолью. Поскольку X не может работать, если у него нет разрешений на запись на устройство VC (, например. /dev/tty7
), он, вероятно, начинается с открытия этого устройства и использования его для отправки определенных запросов ядру. Я предполагаю, что эти запросы не будут поняты устройством PTY.
Ниже вы можете увидеть разрешения двух устройств VC. В первом, /dev/tty1
, я вошел в систему как myusername
, и вы можете видеть, что программа, которая вошла в систему, изменила устройство, чтобы оно принадлежало мне. Вторая строка, /dev/tty2
, принадлежит root
, поскольку она по-прежнему показывает запрос на вход в систему :
$ ls -al /dev/tty{1,2}
crw------- 1 myusername tty 4, 1 Dec 9 05:47 /dev/tty1
crw--w---- 1 root tty 4, 2 Dec 9 05:11 /dev/tty2
Если вы хотите запустить startx
на указанном VC, но у вас нет прямого доступа к нему (, например, если вы вошли в систему через SSH или разговариваете с окном экрана ), тогда вы можете использовать systemd-run
, как описано здесь . Этот метод требует привилегий sudo
, но в конце концов вы будете работать startx
как обычный пользователь, как если бы вы вошли в указанный VC.