Поскольку моя раскладка клавиатуры не подходит мне, я работаю xmodmap
на входе в систему. Сценарий называют .profile
и это работает хорошо, но это повреждает интерфейс Unity.
Я хочу знать, куда поместить xmodmap
строка так, чтобы это выполнилось на моем входе в систему и ничего не повреждало.
Я уже попытался вставить его .bash_login
и .bash_profile
файлы, без успеха (xmodmap
не устанавливает мою клавиатуру).
Каковы мои опции?
Я не имею интерфейса единицы передо мной сейчас, но пытаюсь нажать кнопку Applications на средстве запуска, затем ввожу запуск. Должно быть приложение под названием Приложения Запуска (или некоторые такой). Нажмите его и добавьте Вашу команду xmodmap (например, xmodmap /home/thiago/.Xmodmap
).
Вставляющие изменения xmodmap ~/.bashrc
или /etc/bash.bashrc
ничего не повреждает.
Единственный недостаток - то, что нужно открыть терминал после каждой начальной загрузки для активирования его.
Корректное место для помещения xmodmap ~/.Xmodmap
(так, чтобы Ваши изменения были считаны при запуске), находится в ~/.xinitrc
(см. объяснение ниже), хотя Вы могли поочередно помещать xmodmap
управляйте как объект запуска (/usr/bin/xmodmap /home/user/.Xmodmap
). Я могу сказать, что для 12,04 (и по-видимому 12.10), что эти две альтернативы определенно работают, как так или иначе, они читаются после входа в систему с lightdm
. (Я изменил Возврат на Сдвиг вправо, и изменение только вступило в силу после ввода моего пароля и входа в систему).
Пожалуйста, примите во внимание: если Вы находитесь на Xfce, отмечено на официальном FAQ Xfce, что Вам, вероятно, придется создать объект запуска вместо использования ~/.xinitrc
, и это Вам, возможно, придется задержать выполнение так xmodmap
изменения не перезаписываются setxkbmap
. Можно использовать задержку для достижения этого в записи запуска:
/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"
(Для записи запуска необходимо указать полные пути),
Каждый раз setxkbmap
выполненный должен изменить раскладку клавиатуры, необходимо будет работать xmodmap ~/.Xmodmap
снова в терминале.
Создание ~/.xinitrc
Создайте файл в своей домашней названной папке .xinitrc
с
touch .xinitrc
и место в нем:
xmodmap ~/.Xmodmap
Ваш Xmodmap
файл не должен иметь записей в xmodmap -e " "
разработайте, поскольку это используется в терминале для того, чтобы временно установить значения. Это должно иметь записи в этом формате:
keycode 65 = Tab
keycode 23 = Space
Это часто сбивает с толку который из различного X
файлы (такой как .xprofile
, .xinitrc
, и т.д.), читаются при запуске, но .xinitrc
действительно кажется, все еще читается под 12,04, тогда как .Xmodmap
или .xinputrc
не читаются собой.
На Монетном дворе 17/18, я могу достигнуть этого, bu помещают мои сценарии в Приложение Запуска с 1 второй задержкой.
Поскольку Монетный двор 18 получен на основании Ubuntu 1604, я думаю, что можно сделать то же или установить Приложение Запуска руководящая панель сначала, если это не там.
Надежда это помогает.
Я использую ElementaryOS (с его основанным на GNOME менеджером окон) и нашел решение посредством использования xdg
сценарии автоматического запуска. Много менеджеров окон используют xdg, таким образом, я предполагаю, что этот подход также будет работать в других средах. По крайней мере, это должно работать с GNOME.
xdg запускают скрипты в ~/.config/autostart
после входа в систему на X сессиях. Для загрузки конфигурации xmodmap после входа в систему добавьте следующий сценарий к ~/.config/autostart/xmodmap.desktop
:
[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.Xmodmap
Exec=/usr/bin/xmodmap .Xmodmap
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application
Затем выйдите из системы и войдите в систему снова, и Ваша конфигурация Xmodmap должна была быть загружена.
Если это не работает, попытайтесь выполнить xmodmap в терминале, чтобы видеть, является ли это xmodmap, который жалуется:
$ xmodmap ~/.Xmodmap
Если Вы не получаете ошибки, выполняете следующую команду для отладки:
$ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap
У меня не было большой радости ни с одним из предложений выше (.bashrc вариант не был действительно жизнеспособен, поскольку это выполняет xmodmap на каждом новом терминале),
Я коснулся названного сценария xmodstartup.sh
в моей домашней папке
#!/bin/bash
sleep 1;
echo "running xmodmap"
xmodmap ~/.Xmodmap
с сохраненным, я затем сделал sudo chmod +x xmodstartup.sh
затем я просто добавил исполняемый файл к "окну" установок приложения запуска гнома. ерунда bish, английское расположение y Español на altgr
:)