Перезагрузите XINITRC без перезапуска Xorg - PullRequest
3 голосов
/ 18 января 2012

У меня есть несколько простых скриптов, которые позволяют мне изменять, где во время выполнения используются определенные версии приложений, которые закодированы в мой файл .bashrc.

Например, допустим, у меня есть приложение 'cat'. Существует две версии: одна в / test / working и другая в /test/beta.

Если я запускаю команду bash "changer.sh", она меняет символическую ссылку в / bin / cat, чтобы она указала либо на / test / beta / cat, либо / test / working / cat. При работе в терминалах и в Konsole или Xterm это работает нормально.

У меня также есть строка в моем .xinitrc, чтобы приложения X могли также видеть эту переменную среды, но есть проблема: кажется, что Xorg / Xfree86 отменяет ссылку на символическую ссылку при запуске Xorg, поэтому для вся продолжительность моего Xsession, "cat", определяется как / test / working / cat и никогда не переоценивает символическую ссылку, если она изменится позже. Кажется, в настоящее время единственный обходной путь - закрывать и перезапускать Xorg каждый раз, когда я меняю эту символическую ссылку. Можно ли заставить Xorg перезагрузить / повторно проанализировать мой .xinitrc без необходимости перезапускать его каждый раз?

Спасибо!

1 Ответ

2 голосов
/ 23 февраля 2012

Нет, не совсем.

настроить папку bin с вашими приложениями:

ln -s /working/bin/cat /local/bin/cat

make .xinitrc задает для ваших приложений символическую ссылку.

CAT=/local/bin/cat # and execue $CAT and not just cat

или

PATH=/local/bin:$PATH 

таким образом все приложения в / local / bin будут использоваться (найдены) раньше, чем приложения в $ PATH

заставьте ваш changer.sh манипулировать ссылками в / local / bin

...