Как обходное решение к проблеме с ibus, я пытаюсь сбросить переменный $IBUS_ENABLE_SYNC_MODE. Я попытался поместить, "сбрасывает IBUS_ENABLE_SYNC_MODE" в различных местах включая:
Однако ни одно из этого не отражается в приложениях, запущенных в Единице; например, когда я запускаю терминал от Единицы, результат:
~$ echo $IBUS_ENABLE_SYNC_MODE
1
Где я должен установить эту переменную так, чтобы Единица получила ее правильно?
Править: Причина, почему мои попытки не работают, состояла в том, потому что IBUS_ENABLE_SYNC_MODE установлен внутренне кодом Единицы запуска. Так, за исключением изменения и перекомпиляции Единицы вручную, это не имеет решения.
Создайте файл в /etc/X11/Xsession.d/
для него, например. /etc/X11/Xsession.d/98local
(это должно быть выполнено прежде 99x11-common_start
).
Если это не работает попытка узнать, где переменная установлена. Что-то как
sudo grep -r IBUS_ENABLE_SYNC_MODE /etc/
может помочь здесь найти файл.
Я не знаю то, что Вы пытаетесь сделать с этим, но обычно каждой переменной, которая должна быть "глобальной", установлен или сброшен в /etc/bash.bashrc
таким образом, необходимо отредактировать этот файл.
Простой способ установить персональные переменные среды для Единицы (или любые другие X сессий) состоит в том, чтобы добавить их к файлу $HOME/.xsessionrc
. Эти переменные замечены всем запущенным на сессии, с помощью меню, графический интерфейсов пользователя, окна терминала, и т.д. Например, вставляют этот текст $HOME/.xsessionrc
:
# File sourced by /etc/X11/Xsession, for setting environment variables, etc.
export FOOVAR=testing
Выйдите из системы и въезжайте задним ходом, затем из окна оболочки:
my-pc> echo $FOOVAR
testing
Протестированный под 12,04, с помощью Единицы. Но эта опция реализована /etc/X11/Xsession
сценарий, используемый многими типами настольной сессии, таким образом, это должно работать с любым типом сессии. Посмотрите Xsession
страница справочника.