/usr/bin/find
является частью пакета findutils
в RHEL и системах на его основе (, которым является amazonlinux ). Поэтому вам нужно установить findutils
, чтобы исправить вашу зависимость.
1 )Поскольку исходный бесплатный X-сервер на каком-то этапе стал несколько коммерческим, от него отделился бесплатный вариант XFree86, который затем стал X.org после некоторой политики и драмы. В Википедии есть немного истории, но, как и во всей спорной истории, будьте осторожны с предвзятостью автора (с ).
Но все это было давным-давно с точки зрения вычислений. Во всяком случае, бинарное имя в конечном итоге (очевидно намного позже )изменилось с X
на Xorg
из-за этого, поэтому все дистрибутивы (, не только RHEL ), должны были последовать их примеру.
2 )Если вы читали man Xorg
, то теперь это необязательный параметр. Моя память может ошибаться, но я думаю, что раньше это было обязательным. Это проще, если скриптам не нужно указывать его.
3 )Можно, например,. используйте lsof
, чтобы узнать, какой процесс использует/tmp/.X11-unix/X0
(или куда ваш дистрибутив помещает сокеты домена unix для X ).
4 )Нет, это вы не проверяете. Всегда. Предполагается, что если установлено DISPLAY
, вы используете этот дисплей. Независимо от того, работают ли на вашей локальной машине пять X-серверов, дюжина человек входит в систему через ssh с переадресацией X, и вы можете получить доступ к еще десяти X-серверам через вашу локальную локальную сеть через TCP-сокеты (, редко встречающиеся сегодня ):. Вы используете DISPLAY
вам дано, потому что это дисплей, который пользователь хочет из всех возможных (и, возможно, единственный, который ему разрешено использовать ).
А если он вам не нужен, почти все программы имеют -display
аргумент командной строки, который вы можете использовать для его переопределения.
Если вы не можете связаться с X-сервером с данным дисплеем, вы не можете связаться с ним, и программа остановится с сообщением об ошибке. Но вы не делаете дополнительную проверку для этого.