UbuntuのキーボードショートカットをOSXに合わせて再マップするにはどうすればよいですか?


28

MacのVirtualBoxでUbuntuを使用しています。頻繁に切り替えるので、同じショートカットを使用したいと思います。UbuntuでMacと同じショートカットを使用する方法を知っている人はいますか?具体的には、Cmd + C、Cmd + V、Cmd + A、...(端末でも-Ctrl + Shiftなし、Ctrlのみ)でコピー、貼り付け、すべて選択...を実行したいと思います。

キーボードレイアウトをApple Laptopに変更しようとしましたが、それは役に立ちませんでした。


CmdキーはCtrlまたはAltの代替ですか?
セス

私の記憶が正しければ、Cmdはctrlと同じです。
カズウォルフ

2
cmdはwindowsのファンクションキーと同じです(cmdキーはスペースバーの隣にあります)。ctrlとaltの間のほとんどの時間。
velop

回答:


8

カスタムショートカットを追加できませんでしたか?それが不可能な場合や機能しない場合は、vmboxのキーバインドを変更することをお勧めします。次のことを行う必要があります。

xbindkeysをインストールする

sudo apt-get install xbindkeys

Xbindkeysは非常に汎用性の高いプログラムで、非常に簡単にキーを再マップできます。キーバインドを特定のコマンドに変更するために、ホームディレクトリにあるデフォルトの設定ファイルを使用します。

デフォルトの設定ファイルを作成するには、次のコマンドを使用します。

xbindkeys --defaults

デフォルトの設定ファイルを印刷します。したがって、デフォルト値を含むファイルを作成する場合は、次を使用します。

xbindkeys --defaults > $HOME/.xbindkeysrc

これは、ホームにある.xbindkeysrcという名前の隠しファイルにデフォルト値を出力します。

キーのバインディングを実際に変更するには、まずそれらのキーの名前またはキーシムが何であるかを知る必要があります。xbindkeysでは、-kハンドルを使用して、キーまたはキーの組み合わせの名前を見つけることができます。実行:

xbindkeys -k

(cmdの)ctrlを押して、出力を確認します

ctrl + cを押してみてください(この説明の2番目の部分を使用してターミナルでそのショートカットを無効にした後)

キー/キーの組み合わせの名前が表示されます。

次に、ctrlが押されたときにcmdを呼び出すようにLinuxに指示する必要があります。

これには、xbindkeysが独自にこれをサポートしていないため、追加のソフトウェアが必要です。使用できる2つのプログラム、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に貼り付けます。


2
これらは、vmbox内の問題を解決するソリューションです。vmboxにキーコード交換テーブルを設定することにより、特定のキーコードを交換できる場合がありますが、vmboxesの経験がありません
-Akisame

これは、LinuxでMacバインディングを取得するのと同じくらい近づいています。ただしxte 'key Home'、.xbindkeysrcファイルのキーストロークに関連付けられている場合は機能しないようです。「Shift + i」など、さまざまな方法を試しました。また、「sleep 15 && xte 'key Home'」(geditに切り替えてホームワークを表示)を実行することで動作することも確認しました。これに関する支援はありますか? gist.github.com/Kikketer/658d89661a044121279afbba04a511fa
Chris

8

xbindkeysUbuntuでOSXのようなキーボードマッピングを実現するために使用する必要はありません。これは組み込みオプションです。

  1. Ubuntuの設定に入ります
  2. 移動にキーボードキーボードレイアウト設定
  3. 英語を追加(Macintosh)

7
私は表示されないKeyboard Layout SettingsのUbuntu 14.0.4に
chovy

これはVirtualBoxでは機能しません。私が手に入れたのは、コピー/貼り付けをしようとしたときに縮小したウィンドウだけでした。
チョビー14

笑、他のすべての解決策を試してかなりの時間が経った後、これはとても簡単ですぐに機能しました。(VirtualBox 5.0.4のUbuntu 14.04.3 LTS 64ビット)。ありがとう
-Allisone

これは、私にとっては、virtualboxでは機能しません。
ピーターブルックス

3
この回答は、Ubuntuの新しいバージョンでは明らかに機能しなくなりました。Ubuntuの最新バージョンが2014年であっても、そのために機能しました。
boulder_ruby

3

これは、Ubuntuのより新しいバージョンでこの問題に苦労している人のための更新された回答です。

VirtualBoxを介してUbuntu 16.04.1をインストールしたばかりで、MacBookに一致するキーボード設定を取得できませんでした。

これを修正するために私がしたことは次のとおりです。

  1. 移動システム設定
  2. [ テキスト入力]キーボードではない )を選択します。
  3. 見出し「使用する入力ソース」のリストの下プラス記号とマイナス記号があります-プラス記号をクリックします。
  4. [ 必要なキーボードレイアウトの入力ソースの種類を選択してください]の下のテキストボックスで(私の場合は英語(英国、マッキントッシュ)を選択します)。
  5. 上矢印を使用して、Ubuntuのデフォルトのキーボードレイアウトにします。
  6. 他のキーボードレイアウトを削除します。変更が有効になったのは、他のレイアウトを削除するまでではありませんでした。

1
これの効果は何ですか?たとえば、Macintoshのコントロールキーは、通常のキーボードと同じ場所にあります。ctrl-c / vはシステムのデフォルトのコピーおよび貼り付けコマンドのままであるため、これらの種類のシステム全体のショートカットを再マップしてMacを模倣するという元の質問には答えられません。
コルジャック

2

私はUbuntu 16.04、VirtualBox 5.1.22を使用していますが、残念ながらDavid Browerを含め、これらの答えはどれも役に立ちませんでした。

左OSXコマンドキーを(永続的に!)動作させるためにしたことは次のとおりです。

  1. まず、VirtualBoxがLeft⌘をホストキーとして使用していないことを確認する必要があります
    • VMウィンドウの上部のメニューバーで、 Input > Keyboard > Keyboard Settings..
    • 設定のリストで、[ ホストキーの組み合わせ]を見つけて、ショートカットを左something以外に変更します(使用しないので右usedを使用しました)。
  2. VM環境内でLeft theを確実に使用できるようになったので、XKBでキーを再マップします。
    • 開いて(慎重に)編集します: /usr/share/X11/xkb/symbols/pc
    • 私は単純に交換<LCTL>した<LWIN>ので、次のようになります。
    • key <LCTL> { [ Super_L ] };
    • key <LWIN> { [ Control_L ] };
  3. 次に、xkbキャッシュから古いマッピングを消去します。
    • rm -rf /var/lib/xkb/*
  4. 変更を有効にするには、ubuntuを再起動します。

警告:あなたが何をしているのか本当に理解していない限り、xkbを使って一度に複数の変更を行うことは避けたいと思います。

xkbの再マッピング手順については、Radu Cotescuに全クレジット-彼らは、ubuntu 14.04向けでしたが、ubuntu 16.04向けには正常に動作します。


これを行う前に、必ずスナップショットを撮ってください!幸いなことに別の目的がありましたが、これを行った後、Ubuntuは正常に起動しませんでした。私は元に戻して、それは再び働き始めました。価値のあるものに18.04を使用しています。
トム

2

他の質問で検索して、Ctrl + MacbookキーボードCMD Leftにマップするためのこのツールを見つけました。CMDLeftは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 + Vubuntu-18 VMを使用してOSX VirtualBoxをお楽しみください。


働いた。<フィラー>
skwny

これにより、Win / Appleキーを使用する機能が失われました。代わりに、ステップ3と4について次のことを行いました(3) Ctrl position, (4) Swap Left Win with Left Ctrl
ターグス

0

さまざまな理由でまだUbuntu 12.04を実行しているため、後の反復について話すことはできませんが、これを試してください。

さて、まず、VBホストキーを適切なコマンドや適切なAltキーなど、特定の何かに設定することをお勧めします。通常は使用しません。デフォルトは左側のコマンドキーであり、ほとんどの人の操作を妨げると思います。

これは、VirtualBox自体の設定で(ゲストマシン内またはマシン固有の設定としてではなく)実行できます。(VMウィンドウではなく)VBアプリを開いた状態で、[VirtualBox]-> [設定]-> [入力]を選択し、[仮想マシン]フィールド/マッピングリストの先頭にあるホストキーを選択します。

さて、その後、Ubuntuゲストマシン内で:

  1. システム設定を開き、キーボードレイアウトを選択します。
  2. [レイアウト]タブを開きます。
  3. おそらく、英語(米国)などの1つのエントリしかありません。これを強調表示して、右下の[オプション]ボタンをクリックします。
  4. 「Alt / Win Key Behaviour」エキスパンダーを開きます。
  5. 「コントロールはWinキー(および通常のCtrlキー)にマップされます」を選択します。

Macのコマンドキーがcommand-C、command-Vなどで必要に応じて機能するようになったことを確認してください。


0

Plasma 5を使用したKubuntu 18.04の場合、(システム設定/入力デバイス/キーボードで)ハードウェアを「104キージェネリック」に設定し、レイアウトを「english(macintosh)」に設定しました


-1

それは、仮想マシンの実行に使用しているソフトウェアによって異なります。たとえば、VMWare Fusionを使用してMacでUbuntuを実行し、目的を達成するために、VMWare Fusionの[設定]に移動し、その特定の仮想マシン内で必要なキーマッピングをセットアップしました(複数のセットアップ、 VMごとに)。

私はVirtualBoxを使用したことはありませんが、VirtualBoxの設定でそれができると確信しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.