这适用于当前会话:
costales@dev:~/Desktop$ xmodmap -e "keycode 166 = less"
costales@dev:~/Desktop$ xmodmap -e "keycode 167 = greater"
Run Code Online (Sandbox Code Playgroud)
然后我创建了这个配置文件:
costales@dev:~/Desktop$ cat ~/.Xmodmap
keycode 166 = less
keycode 167 = greater
costales@dev:~/Desktop$
Run Code Online (Sandbox Code Playgroud)
但是重启后就不行了。我怎么能强制重映射生存重启?
Oli*_*Oli 16
我一直在使用 16.04,它似乎使用 sddm 作为其桌面管理器。在此之前,它曾经是 LightDM 和 GDM。它的两个前身都记录为~/.Xmodmap自动加载,但我找不到任何明确说明 sddm 的内容。
因此,建议只强制它加载新脚本。你只需要运行xmodmap ~/.Xmodmap,你可以通过多种方式做到这一点:
~/.xinitrc运行它。.desktop配置~/.config/autostart/可能有几十种其他方法来管理这个,基本上做同样的事情。
Gil*_*rtS 14
在我与Ubuntu中重新映射按键的长期经验,永久的解决方案是修改一个名为evdev中/usr/share/X11/xkb/keycodes。
在命令提示符中运行此命令。
sudo gedit /usr/share/X11/xkb/keycodes/evdev
请记住 gedit 是一个 Ubuntu 文本编辑器,因此您可以使用 nano 或 vim 代替 gedit。
该文件的格式为:ALIAS: CODE。您可以通过交换不同键的代码来交换按钮。例如,要将 RCONTROL 与 RETURN 交换,请将 evdev 中的两行编辑为:
<RTRN> = 105;
<RCTL> = 36;
要知道xev在终端上运行的按钮的数字代码。
小智 8
我添加了一个/etc/X11/Xsession.d/80_xmodmap包含以下内容的文件:
#!/bin/sh
# Set custom keycodes
#
# This file is sourced by Xsession(5), not executed.
# The "|| true" is to ensure that the Xsession script does not terminate on error
USRMODMAP="$HOME/.Xmodmap"
if [ -x /usr/bin/xmodmap ]; then
if [ -f "$USRMODMAP" ]; then
/usr/bin/xmodmap "$USRMODMAP" || true
fi
fi
Run Code Online (Sandbox Code Playgroud)
这每次都有效。
小智 5
打开 gnome-session-properties。添加命令和名称。桌面文件将在 ~/.config/autostart 中创建。
记住:使用绝对路径,例如/home/xxx/.Xmodmap。永远不要使用 '~' 作为你的主目录。
| 归档时间: |
|
| 查看次数: |
35270 次 |
| 最近记录: |