Поскольку моя раскладка клавиатуры мне не подходит, я запускаю xmodmap
при входе в систему. Сценарий назван .profile
и работает нормально, но он нарушает интерфейс Unity.
Я хочу знать, где поставить xmodmap
строку, чтобы она выполнялась при моем входе в систему и ничего не нарушала.
Я уже попробовал положить его в .bash_login
и .bash_profile
файлов, без успеха ( xmodmap
не установлена моя клавиатура).
Какие у меня варианты?
xmodmap
key-binding
Тьяго Мораес
источник
источник
Ответы:
Правильное место для размещения
xmodmap ~/.Xmodmap
(чтобы ваши изменения читались при запуске) находится в~/.xinitrc
(см. Пояснение ниже), хотя вы можете поочередно поместитьxmodmap
команду в качестве элемента запуска (/usr/bin/xmodmap /home/user/.Xmodmap
). Я могу сказать, что для 12.04 (и предположительно 12.10) эти две альтернативы определенно работают, так как они читаются в любом случае после того, как вы вошли в системуlightdm
. (Я изменил Return to Right Shift , и изменения вступили в силу только после ввода моего пароля и входа в систему).Обратите внимание: если вы используете Xfce, в официальном FAQ по Xfce указано, что вам, возможно, придется создавать элемент автозагрузки вместо использования
~/.xinitrc
, и что вам, возможно, придется отложить выполнение, чтобыxmodmap
изменения не были перезаписаныsetxkbmap
. Вы можете использовать задержку для достижения этого в вашей записи запуска:(Для записи при запуске необходимо указать абсолютные пути)
Каждый раз, когда
setxkbmap
запускается для изменения раскладки клавиатуры, вам придетсяxmodmap ~/.Xmodmap
снова запускать в терминале.Создание
~/.xinitrc
Создайте файл в вашей домашней папке
.xinitrc
с именеми поместите в него:
В вашем
Xmodmap
файле не должно быть записей вxmodmap -e " "
стиле, который используется в терминале для временной установки значений. Должны быть записи в этом формате:Часто бывает непонятно, какие из различных
X
файлов (например.xprofile
,.xinitrc
и т. Д.) Читаются при запуске, но.xinitrc
кажется, что они все еще читаются в 12.04, тогда как.Xmodmap
или.xinputrc
не читаются сами по себе.источник
xmodmap -e '...
, вы можете получить правильный формат дляxmodmap .Xmodmap
сxmodmap -pke
, который распечатывает текущее сопоставление - хотя вы захотите отфильтровать его до тех строк, которые применяются к внесенным изменениям.Я использую ElementaryOS (с оконным менеджером на основе GNOME) и нашел решение с помощью
xdg
сценариев автозапуска. Многие оконные менеджеры используют xdg, поэтому я предполагаю, что этот подход также будет работать в других средах. По крайней мере, это должно работать с GNOME.xdg запускает сценарии
~/.config/autostart
при входе в X-сеанс. Чтобы загрузить конфигурацию xmodmap при входе в систему, добавьте следующий скрипт в~/.config/autostart/xmodmap.desktop
:Затем выйдите и войдите снова, и ваша конфигурация Xmodmap должна быть загружена.
Если это не работает, попробуйте запустить xmodmap в терминале, чтобы увидеть, жалуется ли это xmodmap:
Если вы не получили никакой ошибки, выполните следующую команду для отладки:
источник
~/.xinitrc
неудачного использования файла. Как указал hxpax, пользователи Mint (вероятно, большинство / все производные от Debian Linux) могут использовать диалоговое окно с графическим интерфейсом для добавления записей автозапуска посредствомMain Menu --> Preferences --> Startup Applications
.Сейчас у меня нет интерфейса Unity, но попробуйте нажать кнопку Приложения на панели запуска, а затем введите автозагрузку. Должно быть приложение под названием Startup Applications (или еще какое-то подобное). Нажмите на нее и добавьте команду xmodmap (например
xmodmap /home/thiago/.Xmodmap
).источник
xmodmap .Xmodmap
На Mint 17/18 я могу добиться того, чтобы мои сценарии помещались в Startup Application с задержкой в 1 секунду.
Поскольку Mint 18 является производным от Ubuntu 1604, я думаю, вы можете сделать то же самое или сначала установить панель управления Startup Application, если ее там нет.
Надеюсь, это поможет.
источник
Я не испытывал особой радости ни от одного из предложенных выше предложений (опция .bashrc не была действительно жизнеспособной, так как она запускает xmodmap на каждом новом терминале)
Я коснулся сценария
xmodstartup.sh
в моей домашней папкес этим я сохранил
sudo chmod +x xmodstartup.sh
Затем я просто добавил исполняемый файл в окно «Настройки запуска приложения». биш Бош, английский макет у Español на
altgr
:)источник
Внесение изменений в xmodmap
~/.bashrc
или/etc/bash.bashrc
ничего не нарушает.Единственным недостатком является то, что нужно открывать терминал после каждой загрузки, чтобы активировать его.
источник