~ в переменной $PATH игнорируется корневая папка

Я понимаю, что это старый вопрос, но у меня были похожие проблемы, и я надеюсь, что мои выводы будут полезны для некоторых из вас:

В Linux Mint 18 у меня возникли проблемы с поиском или включением телевизора, подключенного через HDMI, когда он был выключен. Я мог бы включить его с помощью ярлыка «Re -Detect display devices» -

.

<MOD>+p or <Winkey>+p

по умолчанию, но без этого я не мог включить или использовать устройство в xrandr или arandr.

Позже я понял, что для того, чтобы использовать отображение в xrandr, мне нужно было сделать три вещи:

1 )Отключите неиспользуемые дисплеи с помощью

.
xrandr --output HDMI-1-2 --off --output DVI-I-1-3 --off

Этот шаг был особенно важен, потому что моя карта поддерживает только 2 одновременных выхода, поэтому я не мог включить третий, пока два других были активны.

2 )Включите нужный дисплей с помощью

xrandr --output HDMI-1 --auto

По какой-то причине мне пришлось сделать это, так как xrandr не мог обнаружить или активировать монитор, просто установив режим с помощью следующей (и последней )команды

3 )Установите предпочтительный режим с помощью

xrandr --output HDMI-1 --mode 1920x1080 --pos 0x0

После включения вывода на предыдущем шаге дисплей теперь должен принимать настройки вашего монитора.

Бонус )Создание команд вы можете получить краткий список доступных дисплеев для опции--вывода выше в терминале, набрав

xrandr | grep connect

Если вам нужна помощь в настройке общих параметров, вы также можете использовать графический инструмент под названием ARandr, который можно установить с помощью команды

sudo apt-get install arandr

Этот инструмент позволит вам расположить экраны и сохранить настройки в файле.sh, который будет содержать команду xrandr для вашей настройки, вам нужно будет только вручную добавить параметр --auto.

Примечание )Мой опыт Вы можете объединить все параметры в одну команду xrandr , но это доставило мне некоторые проблемы и странное поведение. Я счел наиболее надежным добавлять эти строки в скрипт одну за другой и даже добавлять sleep 1 между тремя строками.

1
21.10.2019, 10:47
1 ответ

Хотя я не уверен, какую оболочку вы используете, предполагая bash, вам нужно указать $HOME, а не ~, так как кроме интерактивной командной строки небезопасно использовать ~где-либо еще.

Некоторые местоположения, такие как внутренние скрипты, ~также будут работать, но определение их внутри переменной может привести к неожиданным результатам, как вы уже поняли.

Вы также можете вернуться назад $PATH, чтобы увидеть содержимое.

echo $PATH

Вы увидите, что в вашей текущей реализации он будет включать путь ~/.local/binвместо собственного -, расширенного /root/.local/bin, поскольку ~воспринимается буквально.

0
27.01.2020, 23:59

Теги

Похожие вопросы