我想更改键盘上某些键的键绑定。我想让某些人运行命令,而另一些人激活不同的键。

我可以使用哪些应用程序来执行此操作?


索引:


Xbindkeys
默认键盘和快捷方式设置(在“系统设置”中)
Xmodmap
Xkeycaps
自动键
xkb


我仍在使用dconf和其他任何方法寻找答案。

评论

也许xmacro属于这个答案吗?它可以“在X显示器中记录/播放击键和鼠标移动”。

@roadmr如果可以使用它来创建自定义键盘快捷键,那么可以!

感谢您添加此线程。我正在寻找一种使用键的方法,就像鼠标按钮一样(按住并拖动,单击等)。线程似乎缺少此信息。

@krumpelstiltskin目前,我不知道有任何方法可以实现鼠标的这种精确复制。我建议你问一个新问题。如果我确定了答案,我仍然可以在那里回答,否则其他人可能会有更好的答案:)

这是一个xkb-answer:askubuntu.com/a/347382/354350

#1 楼

xbindkeys ..
sudo apt-get install xbindkeys

Xbindkeys是一种非常通用的程序,可让您非常轻松地重新映射键。它使用一个配置文件(我的默认文件位于您的主目录中)将按键绑定更改为某些命令。
要创建默认配置文件,请使用以下命令:
xbindkeys --defaults

打印默认文件配置文件。因此,如果您要创建包含默认值的文件,则可以使用:
xbindkeys --defaults > $HOME/.xbindkeysrc

将默认值打印到位于首页(.xbindkeysrc)的名为~的隐藏文件中。更改键的绑定,我们首先需要知道这些键的名称或键符号是什么。 xbindkeys允许我们使用-k手柄查找键或组合键的名称。运行:
xbindkeys -k

,然后按一个键或组合键。您的输出将类似于以下内容(按空格键时):
"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"告诉我们当前没有命令与Space键关联。
m:0x10 + c:65
Mod2 + space  

是名称键/组合键。
配置文件。.
打开您先前创建的配置文件:
gedit .xbindkeysrc  

以下是默认配置文件的摘录:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

#开头的每一行都是注释,不会被xbindkeys读取或运行。
到目前为止,唯一未注释掉的行是:
"xbindkeys_show" 
 control+shift + q  

此摘录显示了xbindkeys命令的基本语法:
"Command to run (in quotes)"
key to associate with command (no quotes)  

所以您可以看到:
"xbindkeys_show" 
 control+shift + q  

按Ctrl + Shift + q时运行命令xbindkeys_show
将键绑定到命令。.
现在让我们尝试绑定一些键。我建议清除整个默认文件,使其为空白。它包含您可能不想要的预设键绑定。
现在,假设您要使用Ctrl + b打开浏览器。首先,您需要知道Ctrl + b的名称或键盘符号。如前所述,您可以使用xbindkeys -k查找一个或多个键的名称,但是有一种更简单的方法。对于Ctrl + b这样的简单组合,您可以使用:
Control+b

不是吗!
现在找到您喜欢的浏览器的命令:


对于Firefox:firefox


对于铬:chromium-browser


对于Opera:opera


还记得以前的语法吗?当您按Ctrl + b时,启动Firefox(或其他喜欢的浏览器)的xbindkeys命令是:
"firefox"
Control+b

现在将其放入配置文件并保存。现在您可能会注意到您的命令尚无法使用,这是因为xbindkeys尚未运行。要启动它,只需从终端运行xbindkeys。 Ctrl + b现在应该启动浏览器!
将键绑定到其他键。.
如果您希望键盘上的键调用键盘上的其他键,则需要额外的软件因为xbindkeys本身不支持此功能。我知道我们可以使用两个程序xdotoolxte。我更喜欢xte,因此我将使用它。
安装它:
sudo apt-get install xautomation

xte的语法如下:
xte 'command key/mousebutton/xyCoordinates'

示例:


要呼叫一个按键,请按:xte 'key keyName'


要呼叫组合键:xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName


要呼叫鼠标按钮:xte 'mouseclick buttonNumber'(稍后再讨论查找按钮编号)


移动鼠标:xte 'mousemove xCoordinate yCoordinate'


还有更多!阅读man xte


现在,您已经知道模拟按键的命令,您可以从xbindkeys脚本中调用它,就像这样:
"xte 'key b'"
Control+b  

您可能会猜到,当我们按Ctrl + b时,它将调用xte 'key b',这将在您当前正在处理的任何文档中输入a。
不过,我要注意的是xbindkeysxte并非总是能很好地协同工作。有时您必须完全同时按下按键才能获得输出,而其他时候效果很好。这可能与或不一定与系统配置和/或硬件有关。我不确定。有关将键绑定到其他键的更可靠方法,请参阅maggotbrain的答案。
将鼠标按钮绑定到命令。.
还可以使用xbindkeys将鼠标按钮绑定到命令(以及键盘快捷键,请参见上文) 。鼠标按钮的基本格式现在应该已经为您所熟悉:
" [command to run]  "
b:n

其中[command to run]是要运行的命令,而n是要用于该命令的鼠标按钮的编号。
如果您不知道鼠标按钮的编号,则可以使用xev找出它的含义:
xev | grep button

输出将是这样的:
user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

当我按下每个鼠标按钮时。
例如:
" firefox "
b:2

当我按下鼠标中键时启动Firefox。

评论


xbindkeys是否可以将Meta + C / V映射为复制/粘贴,将Meta + Space映射为语言切换?

–Sonique
15年5月14日在7:56

有没有一种方法可以将一系列字符附加到单个键上,例如在音量调高键上附加“等式”?

–JPi
2015年12月1日14:16在

#2 楼

Xev和xmodmap

使用xevxmodmap更改键绑定。

默认情况下,两个命令行应用程序都是可用的,因此无需安装其他软件。

Xev“创建一个窗口,然后要求X服务器在该窗口发生任何事情(例如,对其进行移动,调整大小,键入,单击等)时向其发送事件。” xev手册页

xmodmap是“用于编辑和显示键盘修饰符映射和键映射表的程序,客户端应用程序使用该程序将事件键代码转换为键符号。” xmodmap手册页

下面的示例将Caps_Lock键重新映射为Esc键的行为(许多vi / vim用户认为这是有用的键盘映射)。

使用xev

从终端窗口(Ctrl-Alt-t)启动xev应用程序。

应用程序将初始化,显示多行并启动空白窗口。
使xev应用程序窗口保持焦点,然后按要使用其属性/行为的键。


按ESC键

在终端窗口中,您将看到多行输出。记下返回的第三行。这将包含您要移至另一个键的属性的名称。

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""


在这种情况下,Esc键(键代码9)使用名称“ Escape” “。


按Caps Lock键

这次,我们正在寻找Caps Lock使用的键代码。

同样,请注意第三行:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""


使用xmodmap

现在我们已经获得了以下信息:我们希望从xev更改的键,我们将使用xmodmap修改键映射。
从命令终端(Ctrl + Alt + t),运行以下命令:



此命令将Caps Lock修改为使用与Esc相同的行为

xmodmap -e "keycode 66 = Escape"



此选项将密钥映射表作为表达式打印到文件~/.Xmodmap

xmodmap -pke > ~/.Xmodmap



使用以下命令激活更改(仅对于此登录会话):

xmodmap ~/.Xmodmap


使更改在重新启动后保持不变:



如果不存在,请在主文件夹中创建一个文件称为.xinitrc

touch .xinitrc



在文件中放置以下行并保存文件:

xmodmap ~/.Xmodmap



修改具有不同状态行为的键

(例如Num Lock)



获取修改器的键映射表键(此处缩写为输出)

$ xmodmap -pm
shift       Shift_L (0x32),  Shift_R (0x3e)
mod2        Num_Lock (0x4d)



例如,如果要更改数字键盘上的Del / Period键上的句点行为,请使用以下命令:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"


请注意,这是在按下修饰符Num Lock时使用mod2键盘映射来更改按键行为。
语法如下:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"


资源

评论


+1!我有一个没有alt-gr键的朝鲜语键盘atm,而且我需要它,因此您的回答对使其正常工作非常有帮助。供以后参考,并且因为alt-gr键不是最简单的设置,因此以下命令(我使用了具有代码130的hanja键):xmodmap -e“键代码130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key”

– Shautieh
16-2-23在13:18

运行xmodmap〜/ .Xmodmap将冻结我在Ubuntu 20.04上的终端。有什么想法吗?

– SaTa
20-10-31在4:09

@SaTa感谢您的评论。我建议您提出一个提供相关详细信息的新问题。我自己从来没有遇到过问题。抱歉,我没有更多帮助。

–凯文·鲍恩(Kevin Bowen)
20-10-31在19:34

#3 楼

默认情况下(这只是对Seth的出色回答的补充),Ubuntu(在本示例中,我使用的是16.04)在系统设置中默认包含2个类别:
要转到系统设置,请在顶部右键单击Gear图标:

,然后选择系统设置:

在这里,您会找到2个选项,可以将您发送到“快捷方式创建”部分。

如果选择“文本输入”,则必须选择右下角的“键盘设置”链接,该链接会直接将您转到“快捷方式”选项。

如果选择“键盘”选项,您必须单击“快捷方式”选项卡

到达“快捷方式”选项卡后,您将在左侧列表底部选择“自定义快捷方式”:

然后单击底部的加号以开始创建自己的快捷方式:

从那里开始,只需您添加了快捷方式的名称(不要将快捷方式的名称与要执行的实际命令的名称混淆)。在下面的“命令”字段中,您将放置将对此快捷方式执行的命令。在下面的示例中,我将快捷方式命名为“ Sublime Text 3”,以了解该特定快捷方式的含义。在命令字段中,我添加了实际命令subl

屏幕上将显示以下内容,因为快捷方式尚未分配键或组合键,默认情况下它是禁用的:

然后我们将单击“禁用”消息以便向其添加组合键:

在这一部分中,我分配SHIFT + CTRL + S的组合键,因此当我按此组合键时,它将打开Sublime Text应用程序。

之后,您只需按相应的组合键并查看应用程序打开即可测试组合:

注意:对于特殊组合,如杀死X Server的组合,建议访问以下链接:如何启用Ctrl-Alt-Backspace来杀死X服务器?

评论


我使用的是13.10,我的系统设置中根本没有此“文本输入”图标。 :(

– Wim
2014年2月5日,下午2:13

嗨,威姆(Wim),您能否提供一个显示系统设置的图像的链接。

–路易斯·阿尔瓦拉多(Luis Alvarado)
2014年2月5日下午2:31

可悲的是,现在我们是15.04,这个答案是一团糟。键盘布局不见了,它具有杀死X服务器的功能。屏幕截图混合了13.04之前的版本(谁在乎!?!)和后来的屏幕截图,有人将它们插入了错误的位置,因此“单击右下角的选项”与实际的过时屏幕截图相去甚远。 :-(

–skierpage
15年6月29日在2:58

@skierpage这就是我做出以下答案的原因:askubuntu.com/questions/367983/…希望能有所帮助。

–路易斯·阿尔瓦拉多(Luis Alvarado)
2015年6月30日,1:14

如果单击右下角的“选项”按钮(在13.04或更早版本上找到)...> 13.04上的选项按钮在哪里?

–恐龙
16-09-26在23:18

#4 楼

进入系统设置→Keboard,选择快捷方式选项卡,然后为您的浏览器添加新的自定义快捷方式。如果您的默认浏览器是Firefox,请在命令字段中使用firefox;如果您的默认浏览器是Firefox,请使用chromium-browser,依此类推:



评论


谢谢。有关实际设置按键的一些特殊性,另请参阅我自己的答案。即使我在正确的地方,起初我还是感到困惑。

–迈克尔·杜兰特(Michael Durrant)
13年8月12日在11:53

但这在我的情况下不起作用。 Ubuntu(出于某种原因)根本不允许我设置快捷键!我一直遵循到第4步(如图所示)。我错过了什么吗?

–Vaibhav Kaushal
2013年9月22日在16:00

与重复问题相比,我更喜欢此答案。

– B先生
2014-09-25 17:15

@VaibhavKaushal:在第5步中,您必须单击“已停用”的右侧,然后执行所需的快捷方式,该快捷方式将立即显示在此处

–rubo77
2015年4月15日在6:22

要使更改生效,可能需要重新启动

–雪莉·邓普(Shirley Temple)
17年5月14日在2:24

#5 楼

您可以通过从软件中心安装自动键来创建复杂的(多键)键盘快捷键。与xmodmap不同,AutoKey不会重新绑定键盘上的实际键。它会在后台运行并拦截您定义的键盘快捷键,然后将模拟的按键发送给您的应用程序。

第一次启动AutoKey时,它将在后台启动服务(通知图标没有已更新为统一,因此没有视觉指示)。一旦运行,您可以再次运行启动器以调出配置界面:



现在打开“编辑”>“首选项”并选择“登录时自动启动AutoKey”请确保您的快捷方式在您每次登录时都有效。

将键盘快捷方式映射到另一个键盘快捷方式


选择“文件”>“新建”>“短语”。
确保将“粘贴使用”设置为“键盘”。

在文本框中键入要映射的键。


特殊(非字符)键由此处记录的代码表示。
如果您键入多个键,除非您在它们之间放置+(例如,<ctrl>+c将在大多数应用程序中复制; <ctrl>+c<ctrl>+n<ctrl>+v将创建一个包含所选内容的新文档; <shift>+ubuntu将键入文本“ Ubuntu”,否则它们将按顺序发送) “)



按“热键”旁边的“设置”按钮。这将打开一个对话框,使您可以从中确定要映射的键组合:



选择文件>保存

完成的配置示例(在按<enter>时发送<ctrl>+m)看起来像这样:



评论


注意:目前,Debian(Ubuntu在其中获取AutoKey软件包)不维护其AutoKey软件包。有关当前的安装说明,请参见:github.com/autokey/autokey/wiki/Installing

–乔
19年8月16日在10:11

我得到脚本“ Enter”遇到错误。它实际上只包含。 (Ubuntu 20.04)

– Kvothe
20/11/17在16:07

#6 楼

尝试以下操作:

安装一个名为XKeyCaps的程序。要安装,只需按键盘上的Ctrl + Alt + T打开终端。打开后,请运行以下命令:

sudo apt-get install xkeycaps


安装后,您可以在提示符下执行xkeycaps来运行程序。一旦运行,请选择正确的键盘布局,然后单击“确定”



,然后在屏幕上显示键盘时,右键单击所需的键其S,然后选择交换密钥。



确保将以下行添加到会话中,以便每次启动时自动启动。

xmodmap ~/.xmodmap-`uname-n`


来源:UFM ytsejam1138

评论


是uname -n应该是uname -n吗?

– wjandrea
19年5月3日,3:30

根据消息来源,这是不行的。我无权测试Ubuntu机器,但是一旦完成,我将进一步检查。

– Mitch♦
19年5月3日,10:55

这样可以将fn密钥与另一个密钥交换吗(xev无法检测到fn密钥)?

– Kvothe
20-11-17在16:25



#7 楼

使用xkb

xkb是X键盘扩展名。它负责将键盘的键映射到其指定功能。
xkb符号可在/usr/share/X11/xkb/symbols/中找到。修饰键映射在/usr/share/X11/xkb/symbols/pc中。

说,我需要切换Caps LockLeft Control的功能。这些更改是pc文件所必需的:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };


为了应用新的映射,您需要从xkb清除/var/lib/xkb的缓存:

rm -rf /var/lib/xkb/*


现在,只需重新启动X会话就可以了。

来源:https://radu.cotescu.com/remapping-keys- in-ubuntu-14.04 /

编辑:
ls目录中执行symbols可得到以下信息:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si


内部映射文件ru基于俄语标准键盘。 macintosh_vndr文件夹包含Apple键盘的映射。简而言之,这种方法用途广泛。继续玩吧:)

评论


您提到了2个文件。对什么文件进行了更改? :)

–赛斯
2015年12月5日14:24

我只提到了一个文件-/ usr / share / X11 / xkb / symbols / pc。

– Crisron
2015年12月6日下午4:38

我的错。让我重新审视了一下,发现第一个路径是文件夹,而不是文件。编辑使它有点明显:)

–赛斯
2015年12月6日下午4:41

#8 楼

如果您只想重新映射键,则其他答案也不错。

但是,还有另一种方法可以解决。 AutoKey是一种键盘宏处理器,可让您将任何键/修饰符组合与一个脚本相关联,该脚本几乎可以执行您可以用键盘执行的任何操作以及更多功能。

AutoKey拥有一个脚本记录器和一个输入基本键序列的简单方法,但是它的脚本是用Python编写的,几乎可以完成所有您可以编写的代码。

最简单的使用方法是将键击发送到应用程序/桌面。以这种方式使用时,系统/应用程序无法分辨出您不是您在键入,因此不需要API或其他接口,它们只需执行“您”键入的操作即可。

AutoKey也可以处理短语。键入触发字符串时,它可以用新文本替换该字符串(立即或在键入分隔符(如换行符或制表符)之后。)

它还具有窗口过滤器,以便您可以限制特定的短语或脚本仅在特定类型的窗口中运行(例如在标题中带有Mozilla的窗口,因此它们只能在Firefox或Thunderbird之类的窗口中运行)。

AutoKey当前具有Gtk和Qt版本。

编辑:

安装指南

用户论坛
活动用户论坛。

有一个Wiki中示例脚本的数量。因为它主要是一个具有很多选项的GUI应用程序,所以示例将需要大量屏幕截图和整篇文章。

我定义了一个短语,以便在键入“ Jmail!”时立即将其替换为相当长的电子邮件地址。

我编写了一个通过键入Ctrl-P触发的脚本,该脚本仅在标题为“ Mozilla”的窗口中有效。键入Ctrl-P会弹出(Firefox或Thunderbird)打印对话框,选择“打印到文件”,然后在我的打印队列中填写下一个可用的打印文件的名称(我将其编号为01、02,...,并且脚本读取队列目录,找到最后一个文件号,并将其递增1)。我将其与我的双面打印仿真软件(duplexpr)结合使用,以消除大量的击键和鼠标移动。

我还看到了游戏玩家的其他一些脚本,这些脚本使他们可以快速访问有关其性格和资源的信息。因此他们可以专注于行动。

评论


您能添加一些有关安装和使用信息的信息吗?那将是真棒!

–赛斯
13年2月13日在21:48

AutoKey已从code.google部分迁移到GitHub。见github.com/autokey/autokey。还有一个Python 3分支-github.com/guoci/autokey-py3。

–乔
16年6月28日在8:09

AutoKey的当前版本位于github.com/autokey/autokey。Python2分支已被弃用。

–乔
19年4月12日在22:44



#9 楼

将键盘键用作鼠标按钮

您可能需要将键盘键映射到鼠标按钮。如果要使用键盘键单击(如果有Macbook或触控板按钮不正确,则可以使用),则可以执行以下操作。



安装一些实用程序:

sudo apt-get install x11-utils xkbset x11-xserver-utils



找到要映射的密钥的密钥代码:


在终端中键入xev | grep keycode

按下感兴趣的键,将出现如下一行:

state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  






键代码,重新映射键以执行与鼠标左键相同的操作:


xkbset m
xmodmap -e "keycode 64 = Pointer_Button1"



Pointer_Button3是鼠标右键,而Pointer_Button2是鼠标中键。

#10 楼

原来,它位于“键盘”应用程序下。

如果您提出来,则可以根据需要更改快捷方式...

更改有点奇怪首次使用。您单击右边的(具有ctrl-alt-T,Disabled等的列,然后单击实际的键,例如所需的ctrlaltb。您将看到新的键序列现在出现在该空间中。关闭窗口(或单击以退出),新的快捷方式现在可以使用了。

#11 楼

该快捷方式已作为WWW存在,只需将其更改为Ctrl + Alt + b。无需创建一个新文件。



#12 楼

CompizConfig设置管理器(CCSM)

CCSM允许您更改一些系统键盘快捷键。

要安装它,请使用软件中心或以下命令:

sudo apt-get install compizconfig-settings-manager


例如,

像Windows 10一样,我使用它来将“窗口扩展”快捷方式从默认的Super + W更改为Super + Tab。在另一个线程上回答:



从Dash运行CCSM。
转到窗口管理->缩放->绑定选项卡->启动窗口选择器


单击键盘快捷键(在您的PC上为<Super>w,但在此屏幕截图中为<Super>Tab)。




单击Grab键组合,请按所需的键,然后单击“确定”。






#13 楼

我想按“打印屏幕”以使用gnome-screenshot应用程序保存屏幕截图,如Mint中那样。

,但我想使用终端而不是GUI来完成,因为我想在创建自定义设置时将其设置为默认设置ISO使用squashfs工具。

首先我使用命令

sudo apt-get install gnome-screenshot
安装了gnome-screenshot,然后我使用设置->键盘-分配了自定义快捷方式>
自定义快捷键->添加(+)按钮->

在对话框中:


名称:屏幕截图
命令: gnome-screentshot

按“添加”按钮

,然后按“打印”屏幕键。

现在绑定了键,我可以根据需要保存屏幕截图。
但是不使用终端,这是GUI方式。

然后我使用<<安装了dconf-editor br />
sudo apt-get install dconf-editor


并搜索gnome-screenshot
我在此路径上找到我的自定义键绑定

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/


键的值为:


绑定“打印”
命令“ gnome-screenshot”
名称“打印屏幕”

现在我复制这些并删除GUI自定义快捷键

我打开终端并键入以下命令

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"


然后瞧瞧

>现在,仅使用dconf和终端,就可以在没有任何GUI的情况下保存屏幕截图。我也不再需要dconf-editor,它只是安装来获取值。

#14 楼

我在ubuntu 18.04上尝试了Kevin的解决方案(xmodmap方法)。就我而言,它不起作用。然而,此过程终于使它起作用:


xmodmap .Xmodmap复制到名为.xsession的文件中,而不是.xinitrc
添加带有/home/<YOUR_USER_NAME>/.xsession作为命令的启动应用程序。