我在 Mac 上的 VirtualBox 中使用 Ubuntu。由于我经常切换,所以我想使用相同的快捷方式。请问有人知道如何在 Ubuntu 上使用与 Mac 相同的快捷方式吗?
具体来说,我想要复制、粘贴、全选......使用Cmd+ C、Cmd+ V、Cmd+ A、......(即使在终端中 - 没有Ctrl+ Shift,只有Ctrl)。
我尝试将键盘布局更改为 Apple Laptop,但没有帮助。
答案1
在 Ubuntu 上无需使用即可xbindkeys
实现类似 OSX 的键盘映射。这是一个内置选项:
- 进入你的 Ubuntu 设置
- 导航键盘→键盘布局设置
- 添加英语(麦金塔)
答案2
在搜索其他问题时,我发现这个工具可以将 Ctrl 映射到 Macbook 键盘 CMD 左键以执行 CMD + C 或 CMD + V 或其他操作:
安装 gnome-tweaks 应用程序:
sudo apt-get install gnome-tweaks
打开应用程序Applications -> Gnome Tweaks
并将 CTRL 映射到 WIN(与 Mac 中的 CMD 相同),执行以下操作:
- 键盘和鼠标
- 附加布局选项(左侧超级)
- Alt/Win 键行为
- Ctrl 映射到 Win 和常用的 Ctrl 键`
CMD + C or CMD + V
使用 ubuntu-18 VM 在您的 OSX VirtualBox 中尽情享受。
答案3
您无法添加自定义快捷键吗?如果这不可能或不起作用,您可能需要更改 vmbox 的键绑定。您需要执行以下操作:
安装 xbindkeys
sudo apt-get install xbindkeys
Xbindkeys 是一款功能非常丰富的程序,可让您轻松重新映射按键。它使用配置文件(我的默认配置文件位于您的主目录中)将按键绑定更改为某些命令。
要创建默认配置文件,请使用以下命令:
xbindkeys --defaults
这将打印默认配置文件。因此,如果您想要创建包含默认值的文件,则可以使用:
xbindkeys --defaults > $HOME/.xbindkeysrc
将默认值打印到位于 home 中的名为 .xbindkeysrc 的隐藏文件中。
现在,要真正更改按键的绑定,我们首先需要知道这些按键的名称或键符。xbindkeys 允许我们使用 -k 句柄来查找按键或组合键的名称。运行:
xbindkeys -k
现在按下 ctrl(或 cmd)并检查输出
尝试按 ctrl + c(使用此解释的第二部分在终端中禁用该快捷方式后)
它会告诉您键/组合键的名称。
现在我们需要告诉 linux 在按下 ctrl 时调用 cmd。
为此,我们需要一个额外的软件,因为 xbindkeys 本身不支持此功能。我知道两个可以使用的程序,xdotool 和 xte。我更喜欢 xte,所以我打算使用它。
安装:
sudo apt-get install xautomation
(要调用单个按键:xte 'key keyName'
调用组合键:xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
欲了解更多信息,您可以阅读手册man xte
)
让我们打开你之前创建的配置文件:(使用创建的配置文件xbindkeys --defaults > $HOME/.xbindkeysrc
)
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 脚本中调用它,如下所示:
“xte 'ctrl'” Cmd(或类似的,取决于 xbindkeys 给您的名称)
将其添加到您的 xbindkeys 脚本并保存。
您会注意到它(目前)还不起作用。这是因为 xbindkeys 尚未运行。使用以下命令启动它。
xbindkeys
您的命令现在应该可以正常工作了。如果不行,您可能想尝试将命令添加到您的组合键中,例如复制和粘贴。如果这也不行,还有另一种选择,但需要写很多代码。您也可以尝试 xmodmap 或 xkeycaps。
我想指出的是 xbindkeys 和 xte 并不总是能很好地协同工作。
至于您的终端快捷键:您可以通过打开终端并单击顶部栏中的编辑来更改它们。然后单击键盘快捷键并将标题“编辑”下的复制和粘贴的值更改为 ctrl(或在您的情况下为 cmd)+ c 和 ctrl + v
答案4
我在 Ubuntu 16.04、VirtualBox 5.1.22 上,这些答案都不适合我 - 包括大卫·布劳尔的很遗憾。
以下是使我的左侧 OSX 命令键正常工作(持续!)的方法:
- 首先你需要确保 VirtualBox 没有使用左 ⌘ 作为主机密钥
- 在 VM 窗口的顶部菜单栏中选择
Input > Keyboard > Keyboard Settings..
- 在设置列表中,找到主机组合键,并将快捷键更改为左⌘以外的其他键(我只是使用了右⌘,因为我从来没有用过它)。
- 在 VM 窗口的顶部菜单栏中选择
- 现在您可以在 VM 环境中使用左 ⌘,使用 XKB 重新映射按键:
- 打开并(小心地)编辑:
/usr/share/X11/xkb/symbols/pc
- 我只是交换了
<LCTL>
一下<LWIN>
,所以它看起来像这样: key <LCTL> { [ Super_L ] };
key <LWIN> { [ Control_L ] };
- 打开并(小心地)编辑:
- 现在从 xkb 缓存中清除旧的映射:
rm -rf /var/lib/xkb/*
- 重新启动 ubuntu 以使更改生效。
警告:我会避免通过 xkb 一次进行多个更改,除非你真的知道自己在做什么,否则同时错误映射几个键可能会让人非常头疼!
全部功劳拉杜·科特斯库对于 xkb 重新映射说明 - 它们适用于 ubuntu 14.04,但它们适用于 ubuntu 16.04。