Як перезавантажити свої комбінації клавіш Ubuntu, щоб відповідати OSX?


28

Я використовую Ubuntu в VirtualBox на Mac. Оскільки я часто перемикаюся, я хотів би використовувати ті самі ярлики. Будь ласка, хтось знає, як на Ubuntu є такі самі ярлики, як і на Mac? Зокрема, я хотів би скопіювати, вставити, вибрати все, ... працювати з Cmd + C, Cmd + V, Cmd + A, ... (навіть у терміналі - немає Ctrl + Shift, просто Ctrl).

Я спробував змінити макет клавіатури на ноутбук Apple, але це не допомогло.


Чи є клавішею Cmd альтернативою Ctrl чи Alt?
Сет

Якщо я правильно пам’ятаю, Cmd дорівнює ctrl.
Каз Вулф

2
cmd дорівнює функціональній клавіші Windows (тоді як клавіша cmd знаходиться поруч із пробілом). Більшість разів між ctrl та alt.
велоп

Відповіді:


8

не могли ви додати спеціальні ярлики ?? Якщо це було неможливо чи не працювало, можливо, ви захочете змінити вкладиші вашого vmbox. Вам потрібно буде зробити наступне:

Встановіть xbindkeys

sudo apt-get install xbindkeys

Xbindkeys - це дуже універсальна програма, яка дозволяє вам легко перевпорядковувати клавіші. Він використовує конфігураційний файл, який за замовчуванням знаходиться у вашому домашньому каталозі, щоб змінити прив’язки клавіш до певних команд.

Щоб створити конфігураційний файл за замовчуванням, ви використовуєте команду:

xbindkeys --defaults

Який друкує конфігураційний файл за замовчуванням. Отже, якщо ви хочете створити файл, який містить значення за замовчуванням, які ви використовуєте:

xbindkeys --defaults > $HOME/.xbindkeysrc

Який друкує значення за замовчуванням у прихований файл з назвою .xbindkeysrc, розташований вдома.

Тепер, щоб насправді змінити прив’язку клавіш, ми спочатку повинні знати, що таке ім’я або ключовий ключ цих клавіш. xbindkeys дозволяє нам використовувати ручку -k, щоб знайти ім'я ключа або комбінації клавіш. Виконати:

xbindkeys -k

Тепер натисніть ctrl (cmd) і перевірте вихід

Спробуйте натиснути ctrl + c (після відключення цього ярлика в терміналі, використовуючи другу частину цього пояснення)

Він повідомить вам назву комбінації клавіш / клавіш.

Тепер нам потрібно сказати linux закликати cmd при натисканні клавіші ctrl.

для цього нам знадобиться додаткова частина програмного забезпечення, оскільки 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


2
це рішення, щоб вирішити вашу проблему ВНУТРІ vmbox. Можливо, вам вдасться обмінятися певними кодами клавіш, встановивши таблицю обміну ключовими кодами у своєму vmbox, але я не маю жодного досвіду роботи з vmboxes
Akisame

Це так близько, як я коли-небудь добирався до отримання Mac-прив’язок на Linux. Однак, здається xte 'key Home', не працює, якщо прив'язати до будь-якого натискання клавіші у файлі .xbindkeysrc. Я спробував таке, як "Shift + i". Я також бачив, як це працює за допомогою клавіші `home 15 '& xte' key home '" (перемикання на gedit і перегляд домашньої роботи). Найбільше відгуків, які я отримую, коли вдома налаштовані речі з "Alt + Left" - це спалах будь-якої допомоги з цього приводу
Кріс,

8

Немає необхідності використовувати xbindkeysдля досягнення відображення на клавіатурі OSX на Ubuntu. Це вбудований варіант:

  1. Зайдіть у налаштування Ubuntu
  2. Перейдіть до клавіатуриналаштування макета клавіатури
  3. додати англійську (Macintosh)

7
Я не бачу Keyboard Layout Settingsна Ubuntu 14.0.4
chovy

Це не працює на VirtualBox. Все, що у мене було, було скорочене вікно, коли я спробував скопіювати / вставити.
чови

хаха, після стільки часу, як спробувати всі інші рішення там, це так просто і працює негайно. (Ubuntu 14.04.3 LTS 64bit у VirtualBox 5.0.4). Спасибі
Allisone

Це не працює для мене у virtualbox.
Пітер Брукс

3
Ця відповідь явно більше не працює для новіших версій Ubuntu. Якою б не була остання версія Ubuntu в 2014 році, вона працювала на це.
boulder_ruby

3

Це оновлена ​​відповідь для тих, хто бореться з цим питанням із більш новими версіями Ubuntu.

Щойно я встановив Ubuntu 16.04.1 через VirtualBox і не зміг отримати налаштування клавіатури, щоб відповідати моєму MacBook.

Ось що я зробив, щоб виправити це:

  1. Перейдіть до Налаштування системи .
  2. Виберіть введення тексту (тобто не клавіатура ).
  3. Під списком із заголовком Вхідні джерела для використання: є знак плюс і мінус - натисніть на знак плюс.
  4. У текстовому полі в розділі Виберіть тип джерела введення в потрібній вам розкладці клавіатури (у моєму випадку я вибираю англійську (Великобританія, macintosh).
  5. Скористайтеся стрілкою вгору, щоб зробити її типовою розкладкою клавіатури на Ubuntu.
  6. Видаліть інші розкладки клавіатури. Тільки поки я не видалив інші макети, зміни вступили в силу.

1
Який ефект від цього? Наприклад, клавіша управління на Macintosh знаходиться там же, що і на звичайній клавіатурі. Оскільки ctrl-c / v як і раніше залишаються системними командами копіювання та вставки за замовчуванням, це не відповість на вихідний питання про перестановку таких типів ярликів у всій системі, тому це імітує Mac.
Коляк

2

Я перебуваю на Ubuntu 16.04, VirtualBox 5.1.22, і жоден з цих відповідей не працював на мене, включаючи, на жаль, Девіда Броувера .

Ось що зробило, щоб лівий ключ команди OSX працював (наполегливо!):

  1. Спочатку вам потрібно переконатися, що VirtualBox не використовує Left ⌘ як ключ хоста
    • У верхній панелі меню виберіть вікно виправлення Input > Keyboard > Keyboard Settings..
    • У списку налаштувань знайдіть комбінацію клавіш хоста та змініть ярлик на щось інше, ніж ліве ⌘ (я просто використав правий ⌘, як ніколи його не використовую).
  2. Тепер, коли ви можете точно використовувати Left ⌘ у середовищі VM, перезавантажте ключі за допомогою 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 - вони були для ubuntu 14.04, однак вони добре працюють для ubuntu 16.04.


Обов’язково зробіть знімок, перш ніж це зробити! На щастя, я мав іншу мету, і після цього Ubuntu не завантажився належним чином. Я повернувся, і він знову почав працювати. Я використовую 18.04 для того, що варто.
Том

2

Пошук інших питань Я знайшов цей інструмент для відображення Ctrl на клавіатурі Macbook CMD Вліво, щоб зробити CMD + C або CMD + V або щось інше:

Встановіть програму gnome-tweaks:

sudo apt-get install gnome-tweaks

Відкрийте додаток Applications -> Gnome Tweaksі наведіть CTRL на WIN (Те саме, що CMD у Mac), зробивши це:

  1. Клавіатура та миша
  2. Додаткові параметри макета (лівий супер)
  3. Поведінка клавіш Alt / Win
  4. Ctrl відображається на Win та звичайні клавіші Ctrl`

Насолоджуйтесь CMD + C or CMD + Vу своїй OSX VirtualBox за допомогою ubuntu-18 VM.


Працювали. <filler>
skwny

Це втратило мені можливість використовувати ключ Win / Apple. Замість цього я зробив наступний крок за 3 і 4: (3) Ctrl position, (4) Swap Left Win with Left Ctrl.
Тург

0

Я все ще працюю з Ubuntu 12.04 з різних причин, тому не можу говорити про наступні ітерації, але спробуйте:

Добре, по-перше, ви можете встановити свій хост-ключ VB на щось конкретне, наприклад правильну команду або правий клавішу Alt ... те, що ви не використовуєте нормально. Я думаю, що за замовчуванням - ліва командна клавіша, яка буде втручатися в більшість людей.

Це можна зробити в налаштуваннях для самого VirtualBox (а не всередині гостьової машини або як будь-якого налаштування для певної машини). Якщо програма VB відкрита (не вікно VM), виберіть VirtualBox-> Preferences-> Input, а потім виберіть хост-ключ на голові поля «Віртуальна машина» / списку відображень.

Добре, після цього, всередині самої гостьової машини Ubuntu:

  1. Відкрийте налаштування системи та виберіть Розкладка клавіатури.
  2. Відкрийте вкладку "Макети".
  3. Ймовірно, у вас буде лише один запис - англійська (американська) або дещо. Виділіть це і натисніть кнопку "Параметри" в нижньому правому куті.
  4. Відкрийте розширювач "Alt / Win Key Behavior".
  5. Виберіть "Керування відображається на клавіші Win (і звичайні клавіші Ctrl)".

Ви повинні виявити, що ваш командний ключ Mac зараз працює, як потрібно для команд-C, команда-V тощо.


0

У випадку з Kubuntu 18.04 з плазмою 5, для мене працювало (в Налаштуваннях системи / Пристрої вводу / Клавіатури), встановлюючи апаратне забезпечення як "104-ключове загальне", а макет "Англійська (macintosh)"


-1

Це залежатиме від програмного забезпечення, яке ви використовуєте для запуску віртуальної машини. Для прикладу, я використовую VMWare Fusion для запуску Ubuntu на моєму Mac і для досягнення того, що ви хочете, я перейшов до "Налаштування" VMWare Fusion і встановив відображення клавіш, яке я хотів у цій конкретній віртуальній машині (у мене може бути декілька налаштувань, одна для кожного ВМ).

Я ніколи не використовував VirtualBox, але я впевнений, що ви можете це зробити в налаштуваннях VirtualBox.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.