Come rimappare le mie scorciatoie da tastiera Ubuntu per abbinare OSX?


28

Sto usando Ubuntu in VirtualBox su Mac. Mentre cambio frequentemente, vorrei usare le stesse scorciatoie. Per favore, qualcuno sa come avere le stesse scorciatoie su Ubuntu, come lo sono su Mac? In particolare, vorrei copiare, incollare, selezionare tutto, ... lavorare con Cmd + C, Cmd + V, Cmd + A, ... (anche nel terminale - no Ctrl + Shift, solo Ctrl).

Ho provato a cambiare il layout della tastiera in un laptop Apple, ma non è stato d'aiuto.


Il tasto Cmd è l'alternativa a Ctrl o Alt?
Seth,

Se ricordo bene, Cmd è uguale a ctrl.
Kaz Wolfe,

2
cmd è uguale al tasto funzione di windows (mentre il tasto cmd si trova accanto alla barra spaziatrice). La maggior parte delle volte tra ctrl e alt.
velop,

Risposte:


8

non potresti aggiungere scorciatoie personalizzate ?? Se ciò non fosse possibile o non funzionasse, potresti voler modificare le combinazioni di tasti della tua vmbox. Dovrai fare quanto segue:

Installa xbindkeys

sudo apt-get install xbindkeys

Xbindkeys è un programma molto versatile che ti consente di rimappare i tasti molto facilmente. Utilizza un file di configurazione, il mio predefinito situato nella directory home, per modificare i collegamenti dei tasti in determinati comandi.

Per creare un file di configurazione predefinito, utilizzare il comando:

xbindkeys --defaults

Che stampa il file di configurazione predefinito. Quindi, se si desidera creare il file contenente i valori predefiniti, utilizzare:

xbindkeys --defaults > $HOME/.xbindkeysrc

Che stampa i valori predefiniti in un file nascosto chiamato .xbindkeysrc situato in home.

Ora, per cambiare effettivamente i collegamenti delle chiavi, dobbiamo prima sapere qual è il nome o il keysym di quelle chiavi. xbindkeys ci permette di usare l'handle -k per trovare il nome di una chiave o combinazione di tasti. Correre:

xbindkeys -k

Ora premi ctrl (di cmd) e controlla l'output

Prova a premere ctrl + c (dopo aver disabilitato quella scorciatoia nel terminale usando la seconda parte di questa spiegazione)

Ti dirà il nome della combinazione chiave / chiave.

Ora dobbiamo dire a Linux di chiamare cmd quando viene premuto ctrl.

per questo avremo bisogno di un software aggiuntivo poiché xbindkeys non lo supporta da solo. Conosco due programmi che possiamo usare, xdotool e xte. Preferisco xte quindi lo userò.

Installalo:

sudo apt-get install xautomation

(Per chiamare un singolo tasto premere: xte 'key keyName'

Per chiamare una combinazione di tasti: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

Per maggiori informazioni puoi leggere il manuale man xte )

Consente di aprire il file di configurazione creato in precedenza: (quello creato utilizzando xbindkeys --defaults > $HOME/.xbindkeysrc)

gedit .xbindkeysrc

Otterrai qualcosa del genere:

#
# 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:

Prima hai estratto la combinazione chiave / chiave. ora che conosci il comando per simulare la pressione dei tasti puoi chiamarlo dal tuo script xbindkeys, in questo modo:

"xte 'ctrl'" Cmd (o qualcosa del genere dipendeva dal nome dato da xbindkeys)

Aggiungi questo al tuo script xbindkeys e salvalo.

Noterai che non funziona (ancora). Questo perché xbindkeys non è ancora in esecuzione. avviarlo con il seguente comando.

xbindkeys

I tuoi comandi dovrebbero funzionare ora. Se non funziona, potresti provare ad aggiungere comandi alle combinazioni di tasti come copia e incolla. Se ciò non funziona, esiste un'alternativa, ma è un bel po 'di scrittura. Puoi anche provare xmodmap o xkeycaps.

Vorrei notare che xbindkeys e xte non funzionano sempre bene insieme.

Per quanto riguarda le scorciatoie del terminale: puoi cambiarle TUTTE aprendo il terminale e facendo clic su Modifica nella barra in alto. Quindi fai clic sulle scorciatoie da tastiera e modifica il valore di copia e incolla sotto l'intestazione "modifica" in ctrl (o nel tuo caso cmd) + c e ctrl + v


2
queste sono soluzioni per risolvere il tuo problema all'interno di vmbox. Potresti essere in grado di scambiare determinati codici chiave impostando una tabella di scambio di codici chiave nella tua vmbox ma non ho alcuna esperienza con vmbox
Akisame

Questo è il più vicino che abbia mai avuto per ottenere i collegamenti mac su Linux. Tuttavia sembra xte 'key Home'non funzionare se associato a una sequenza di tasti nel file .xbindkeysrc. Ho provato una varietà come "Shift + i". L'ho visto funzionare anche facendo `sleep 15 && xte 'key Home'" (passando a gedit e vedendo il lavoro a casa). La maggior parte dei feedback che ottengo quando ho impostato le cose con "Alt + Sinistra" per la casa è un lampo del cursore. Qualche assistenza in merito? gist.github.com/Kikketer/658d89661a044121279afbba04a511fa
Chris

8

Non è necessario utilizzare xbindkeysper ottenere la mappatura della tastiera simile a OSX su Ubuntu. Questa è un'opzione integrata:

  1. Vai nelle tue impostazioni di Ubuntu
  2. Passare a TastieraImpostazioni layout tastiera
  3. aggiungi inglese (Macintosh)

7
Non vedo Keyboard Layout Settingssu Ubuntu 14.0.4
chovy

Questo non funziona su VirtualBox. Tutto quello che ho ottenuto è stata una finestra rimpicciolita quando ho provato a copiare / incollare.
Chovy

lol, dopo tanto tempo a provare tutte le altre soluzioni là fuori, questa è così semplice e ha funzionato immediatamente. (Ubuntu 14.04.3 LTS 64 bit in VirtualBox 5.0.4). Grazie
Allisone,

Questo non funziona per me, su virtualbox.
Peter Brooks,

3
Questa risposta chiaramente non funziona più per le versioni più recenti di Ubuntu. Qualunque sia l'ultima versione di Ubuntu del 2014, ha funzionato per questo.
boulder_ruby,

3

Questa è una risposta aggiornata per chiunque abbia problemi con questo problema con le versioni più recenti di Ubuntu.

Ho appena installato Ubuntu 16.04.1 tramite VirtualBox e non sono riuscito a far corrispondere le impostazioni della tastiera al mio MacBook.

Ecco cosa ho fatto per risolverlo:

  1. Passa a Impostazioni di sistema .
  2. Seleziona la voce di testo (cioè non la tastiera ).
  3. Sotto l'elenco con l'intestazione Fonti di input da usare: c'è un segno più e un segno meno - fai clic sul segno più.
  4. Nella casella di testo in Scegli un tipo di sorgente di input nel layout di tastiera desiderato (nel mio caso scelgo inglese (UK, macintosh).
  5. Usa la freccia su per renderlo il layout di tastiera predefinito su Ubuntu.
  6. Rimuovi gli altri layout di tastiera. Non è stato fino a quando ho rimosso gli altri layout che le modifiche hanno avuto effetto.

1
Qual è l'effetto di questo? Ad esempio, il tasto di controllo su un Macintosh si trova nella stessa posizione di una tastiera normale. Poiché ctrl-c / v rimangono ancora i comandi predefiniti di copia e incolla del sistema, questo non risponderà alla domanda originale di rimappare quel tipo di scorciatoie a livello di sistema in modo da imitare un Mac.
Coljac,

2

Sono su Ubuntu 16.04, VirtualBox 5.1.22 e nessuna di queste risposte ha funzionato per me, incluso sfortunatamente David Brower .

Ecco cosa ha fatto per far funzionare la mia chiave di comando OSX sinistra (in modo persistente!):

  1. Per prima cosa devi assicurarti che VirtualBox non stia usando Sinistra ⌘ come chiave Host
    • Nella barra dei menu in alto della finestra della VM selezionare Input > Keyboard > Keyboard Settings..
    • Nell'elenco delle impostazioni, trova Combinazione chiave host e modifica la scorciatoia in qualcosa di diverso da Sinistra ⌘ (ho appena usato Destra ⌘ poiché non la uso mai).
  2. Ora che puoi sicuramente usare la sinistra ⌘ all'interno dell'ambiente VM, rimappa le chiavi con XKB:
    • Apri e (con attenzione) modifica: /usr/share/X11/xkb/symbols/pc
    • Ho semplicemente scambiato <LCTL>e in <LWIN>giro, quindi sembra così:
    • key <LCTL> { [ Super_L ] };
    • key <LWIN> { [ Control_L ] };
  3. Ora cancella i vecchi mapping dalla cache xkb:
    • rm -rf /var/lib/xkb/*
  4. Riavvia Ubuntu per rendere effettive le modifiche.

Avvertenza: eviterei di fare più di una modifica alla volta tramite xkb a meno che tu non sappia davvero cosa stai facendo, un paio di chiavi mappate in modo errato allo stesso tempo potrebbero essere un vero mal di testa!

Riconoscimento completo a Radu Cotescu per le istruzioni di rimappatura xkb - erano per Ubuntu 14.04, tuttavia funzionano bene per Ubuntu 16.04.


Assicurati di scattare un'istantanea prima di farlo! Per fortuna l'ho avuto per un altro scopo e, dopo aver fatto ciò, Ubuntu non si avviava correttamente. Sono tornato e ha ripreso a funzionare. Sto usando 18.04 per quello che vale.
Tom,

2

Cercando in altre domande ho trovato questo strumento per mappare il Ctrl sulla tastiera del Macbook CMD Sinistra per fare CMD + C o CMD + V o qualcos'altro:

Installa l'applicazione gnome-tweaks:

sudo apt-get install gnome-tweaks

Aprire l'applicazione Applications -> Gnome Tweakse mappare CTRL su WIN (come su CMD in Mac) facendo questo:

  1. Tastiera e mouse
  2. Opzioni di layout aggiuntive (Super sinistra)
  3. Tasto Alt / Win Comportamento
  4. Ctrl è mappato su Win e sui soliti tasti Ctrl`

Divertiti con il CMD + C or CMD + Vtuo OSX VirtualBox usando Ubuntu-18 VM.


Lavorato. <filler>
skwny

Questo mi ha perso la possibilità di utilizzare il tasto Win / Apple. Invece, ho fatto quanto segue per Fase 3 e 4: (3) Ctrl position, (4) Swap Left Win with Left Ctrl.
Turgs,

0

Sto ancora eseguendo Ubuntu 12.04 per vari motivi, quindi non posso parlare per successive iterazioni, ma prova questo:

Bene, in primo luogo, potresti voler impostare la chiave host VB su qualcosa di specifico come il comando destro o il tasto alt destro ... qualcosa che non usi normalmente. Penso che il valore predefinito sia il tasto di comando sinistro, che interferirà con le operazioni della maggior parte delle persone.

Questo può essere fatto nelle preferenze per VirtualBox stesso (piuttosto che all'interno della macchina guest o come qualsiasi impostazione specifica della macchina). Con l'app VB aperta (non la finestra della VM), scegli VirtualBox-> Preferenze-> Input, quindi seleziona la chiave host in testa al campo / elenco di mappatura "Macchina virtuale".

Va bene, dopo quello, all'interno della stessa macchina guest Ubuntu:

  1. Apri le impostazioni di sistema e scegli Layout tastiera.
  2. Apri la scheda Layout.
  3. Probabilmente avrai solo una voce: inglese (USA) o somesuch. Evidenzia questo e fai clic sul pulsante "Opzioni" in basso a destra.
  4. Aprire l'espansore "Alt / Win Key Behaviour".
  5. Scegli "Il controllo è associato ai tasti Win (e ai soliti tasti Ctrl)".

Dovresti scoprire che il tuo tasto di comando Mac ora funziona come desiderato per command-C, command-V ecc.


0

Nel caso di Kubuntu 18.04 con Plasma 5, ciò che ha funzionato per me è stato (in Impostazioni di sistema / Dispositivi di input / Tastiere) impostare l'hardware come "generico a 104 tasti" e il layout come "inglese (macintosh)"


-1

Ciò dipenderà dal software utilizzato per eseguire la macchina virtuale. Ad esempio, utilizzo VMWare Fusion per eseguire Ubuntu sul mio Mac e per ottenere ciò che desideri, sono andato su "Impostazioni" di VMWare Fusion e ho impostato la mappatura dei tasti che volevo all'interno di quella specifica macchina virtuale (posso avere più configurazioni, una per ogni VM).

Non ho mai usato VirtualBox, ma sono abbastanza sicuro che puoi farlo nelle Impostazioni di VirtualBox.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.