Как я устанавливаю Xmodmap на входе в систему?

Поскольку моя раскладка клавиатуры не подходит мне, я работаю xmodmap на входе в систему. Сценарий называют .profile и это работает хорошо, но это повреждает интерфейс Unity.

Я хочу знать, куда поместить xmodmap строка так, чтобы это выполнилось на моем входе в систему и ничего не повреждало.

Я уже попытался вставить его .bash_login и .bash_profile файлы, без успеха (xmodmap не устанавливает мою клавиатуру).

Каковы мои опции?

46
задан 12 February 2013 в 01:18

6 ответов

Я не имею интерфейса единицы передо мной сейчас, но пытаюсь нажать кнопку Applications на средстве запуска, затем ввожу запуск. Должно быть приложение под названием Приложения Запуска (или некоторые такой). Нажмите его и добавьте Вашу команду xmodmap (например, xmodmap /home/thiago/.Xmodmap).

2
ответ дан 22 November 2019 в 23:57

Вставляющие изменения xmodmap ~/.bashrc или /etc/bash.bashrc ничего не повреждает.

Единственный недостаток - то, что нужно открыть терминал после каждой начальной загрузки для активирования его.

-1
ответ дан 22 November 2019 в 23:57

Корректное место для помещения 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 не читаются собой.

29
ответ дан 22 November 2019 в 23:57

На Монетном дворе 17/18, я могу достигнуть этого, bu помещают мои сценарии в Приложение Запуска с 1 второй задержкой.

Поскольку Монетный двор 18 получен на основании Ubuntu 1604, я думаю, что можно сделать то же или установить Приложение Запуска руководящая панель сначала, если это не там.

Надежда это помогает.

2
ответ дан 22 November 2019 в 23:57

Я использую 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
9
ответ дан 22 November 2019 в 23:57

У меня не было большой радости ни с одним из предложений выше (.bashrc вариант не был действительно жизнеспособен, поскольку это выполняет xmodmap на каждом новом терминале),

Я коснулся названного сценария xmodstartup.sh в моей домашней папке

  #!/bin/bash           
  sleep 1;               
  echo "running xmodmap" 
  xmodmap ~/.Xmodmap     

с сохраненным, я затем сделал sudo chmod +x xmodstartup.sh

затем я просто добавил исполняемый файл к "окну" установок приложения запуска гнома. ерунда bish, английское расположение y Español на altgr :)

0
ответ дан 22 November 2019 в 23:57

Другие вопросы по тегам:

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