如何重新映射我的 Ubuntu 键盘快捷键以匹配 OSX?

use*_*499 31 keyboard keyboard-layout virtualbox shortcut-keys

我在 Mac 上的 VirtualBox 中使用 Ubuntu。由于我经常切换,我想使用相同的快捷方式。拜托,有人知道如何在 Ubuntu 上使用与 Mac 上相同的快捷方式吗?具体来说,我想复制、粘贴、全选、...使用 Cmd+C、Cmd+V、Cmd+A,...(即使在终端中 - 没有 Ctrl+Shift,只是 Ctrl)。

我试图将键盘布局更改为 Apple Laptop,但这没有帮助。

bou*_*uby 13

无需使用xbindkeys在 Ubuntu 上实现类似 OSX 的键盘映射。这是一个内置选项:

  1. 进入你的 Ubuntu 设置
  2. 导航到键盘键盘布局设置
  3. 添加英语 (Macintosh)

  • 我在 Ubuntu 14.0.4 上看不到“键盘布局设置” (10认同)
  • 这个答案显然不再适用于较新版本的 Ubuntu。无论 2014 年最新版本的 Ubuntu 是什么,它都适用。 (7认同)
  • 不幸的是,布局设置(也称为使用英语(Macintosh))不会更改标准键绑定。例如,您仍然必须使用 CTRL+C 和 CTRL+V 进行复制和粘贴。 (5认同)

Aki*_*ame 12

你不能添加自定义快捷方式吗??如果那不可能或不起作用,您可能需要更改 vmbox 的键绑定。您需要执行以下操作:

安装 xbindkeys

sudo apt-get install xbindkeys
Run Code Online (Sandbox Code Playgroud)

Xbindkeys 是一个非常通用的程序,可以让您非常轻松地重新映射键。它使用一个配置文件,我默认位于您的主目录中,将键绑定更改为某些命令。

要创建默认配置文件,请使用以下命令:

xbindkeys --defaults
Run Code Online (Sandbox Code Playgroud)

打印默认配置文件。因此,如果您想创建包含默认值的文件,您将使用:

xbindkeys --defaults > $HOME/.xbindkeysrc
Run Code Online (Sandbox Code Playgroud)

它将默认值打印到位于 home 中的名为 .xbindkeysrc 的隐藏文件中。

现在要实际更改键的绑定,我们首先需要知道这些键的名称或键符是什么。xbindkeys 允许我们使用 -k 句柄来查找键或键组合的名称。跑:

xbindkeys -k
Run Code Online (Sandbox Code Playgroud)

现在按 ctrl (of cmd) 并检查输出

尝试按 ctrl + c (在使用本说明的第二部分在终端中禁用该快捷方式后)

它会告诉您键/键组合的名称。

现在我们需要告诉 linux 在按下 ctrl 时调用 cmd。

为此,我们将需要一个额外的软件,因为 xbindkeys 本身不支持此功能。我知道我们可以使用两个程序,xdotool 和 xte。我更喜欢 xte 所以我要使用它。

安装它:

sudo apt-get install xautomation
Run Code Online (Sandbox Code Playgroud)

(要调用单个按键: 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:
Run Code Online (Sandbox Code Playgroud)

之前您提取了键/键组合。现在您知道了模拟按键的命令,您可以从 xbindkeys 脚本中调用它,如下所示:

"xte 'ctrl'" Cmd(或类似的东西取决于 xbindkeys 给你的名字)

将此添加到您的 xbindkeys 脚本中并保存。

你会注意到它不起作用(还)。那是因为 xbindkeys 还没有运行。使用以下命令启动它。

xbindkeys
Run Code Online (Sandbox Code Playgroud)

您的命令现在应该可以工作了。如果它不起作用,您可能想尝试将命令添加到您的组合键中,例如复制和粘贴。如果这不起作用,那么还有一个替代方案,但要写很多东西。您也可以尝试 xmodmap 或 xkeycaps。

我想指出 xbindkeys 和 xte 并不总是能很好地协同工作。

至于您的终端快捷方式:您可以通过打开终端并单击顶部栏中的编辑来更改它们。然后单击键盘快捷键并将标题“编辑”下的复制和粘贴值更改为 ctrl(或在您的情况下为 cmd)+ c 和 ctrl + v

  • 这些是解决 vmbox 问题的解决方案。您可以通过在 vmbox 中设置密钥代码交换表来交换某些密钥代码,但我对 vmboxes 没有任何经验 (2认同)

Hem*_*dal 7

在其他问题中搜索我发现这个工具将 Ctrl 映射到 Macbook 键盘 CMD Left to do CMD + C 或 CMD + V 或其他东西:

安装 gnome-tweaks 应用程序:

sudo apt-get install gnome-tweaks

打开应用程序Applications -> Gnome Tweaks并将 CTRL 映射到 WIN(与 Mac 中的 CMD 相同)执行以下操作:

  1. 键盘和鼠标
  2. 附加布局选项(左上)
  3. Alt/Win 键行为
  4. Ctrl 映射到 Win 和通常的 Ctrl 键`

CMD + C or CMD + V使用 ubuntu-18 VM 在您的 OSX VirtualBox 中享受。

  • 这让我无法使用 Win/Apple 键。相反,我对步骤 3 和 4 执行了以下操作:“(3) Ctrl 位置,(4) 将 Left Win 与 Left Ctrl 交换”。 (5认同)

小智 -1

这取决于您用来运行虚拟机的软件。例如,我使用 VMWare Fusion 在我的 Mac 上运行 Ubuntu 并实现你想要的,我进入 VMWare Fusion 的“设置”并在该特定虚拟机中设置我想要的键映射(我可以有多个设置,一个对于每个虚拟机)。

我从未使用过 VirtualBox,但我很确定您可以在 VirtualBox 的“设置”中执行此操作。