¿Cómo vuelvo a asignar los atajos de teclado de Ubuntu para que coincida con OSX?


28

Estoy usando Ubuntu en VirtualBox en Mac. Como cambio con frecuencia, me gustaría usar los mismos atajos. Por favor, ¿alguien sabe cómo tener los mismos atajos en Ubuntu que en Mac? Específicamente, me gustaría copiar, pegar, seleccionar todo, ... trabajar con Cmd + C, Cmd + V, Cmd + A, ... (incluso en la terminal - sin Ctrl + Shift, solo Ctrl).

Traté de cambiar la distribución del teclado a la computadora portátil Apple, pero eso no ayudó.


¿Es la tecla Cmd la alternativa a Ctrl o Alt?
Seth

Si no recuerdo mal, Cmd es igual a ctrl.
Kaz Wolfe

2
cmd es igual a la tecla de función de Windows (mientras que la tecla cmd está al lado de la barra espaciadora). La mayoría de las veces entre ctrl y alt.
velop

Respuestas:


8

¿no podrías agregar atajos personalizados? Si eso no fue posible o no funcionó, es posible que desee cambiar las combinaciones de teclas de su vmbox. Deberá hacer lo siguiente:

Instalar xbindkeys

sudo apt-get install xbindkeys

Xbindkeys es un programa muy versátil que te permite reasignar teclas muy fácilmente. Utiliza un archivo de configuración, mi valor predeterminado ubicado en su directorio de inicio, para cambiar las asociaciones de teclas en ciertos comandos.

Para crear un archivo de configuración predeterminado, use el comando:

xbindkeys --defaults

Que imprime el archivo de configuración predeterminado. Entonces, si desea crear el archivo que contiene los valores predeterminados que usaría:

xbindkeys --defaults > $HOME/.xbindkeysrc

Que imprime los valores predeterminados en un archivo oculto llamado .xbindkeysrc ubicado en el hogar.

Ahora, para cambiar realmente los enlaces de las teclas, primero necesitamos saber cuál es el nombre o la clave de esas teclas. xbindkeys nos permite usar el controlador -k para encontrar el nombre de una tecla o combinación de teclas. Correr:

xbindkeys -k

Ahora presione ctrl (de cmd) y verifique la salida

Intente presionar ctrl + c (después de deshabilitar ese acceso directo en el terminal usando la segunda parte de esta expulsión)

Le dirá el nombre de la combinación clave / clave.

Ahora tenemos que decirle a Linux que invoque cmd cuando se presione Ctrl.

para esto necesitaremos una pieza adicional de software ya que xbindkeys no es compatible por sí solo. Sé de dos programas que podemos usar, xdotool y xte. Prefiero xte, así que voy a usar eso.

Instalarlo:

sudo apt-get install xautomation

(Para llamar a una sola tecla, presione: xte 'key keyName'

Para llamar a una combinación de teclas: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

Para más información puedes leer el manual man xte )

Vamos a abrir el archivo de configuración que creó anteriormente: (el que creó usando xbindkeys --defaults > $HOME/.xbindkeysrc)

gedit .xbindkeysrc

Obtendrás algo como esto:

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

Anteriormente extrajo la combinación clave / clave. ahora que conoce el comando para simular pulsaciones de teclas, puede llamarlo desde su script xbindkeys, así:

Cmd "xte 'ctrl'" (o algo así dependía del nombre que le dieran xbindkeys)

Agregue esto a su script xbindkeys y guárdelo.

Notarás que no funciona (todavía). Eso es porque xbindkeys aún no se está ejecutando. Comience con el siguiente comando.

xbindkeys

Tus comandos deberían funcionar ahora. Si no funciona, puede intentar agregar comandos a sus combinaciones de teclas como copiar y pegar. Si eso tampoco funciona, hay una alternativa, pero eso es bastante escritura. También puedes probar xmodmap o xkeycaps.

Me gustaría señalar que xbindkeys y xte no siempre funcionan bien juntos.

En cuanto a los accesos directos de su terminal: puede cambiarlos TODOS abriendo su terminal y haciendo clic en editar en la barra superior. Luego haga clic en los atajos de teclado y cambie el valor de copiar y pegar debajo del encabezado "editar" en ctrl (o en su caso cmd) + c y ctrl + v


2
Estas son soluciones para solucionar su problema DENTRO de vmbox. Es posible que pueda intercambiar ciertos códigos de teclas configurando una tabla de intercambio de códigos de clave en su vmbox, pero no tengo ninguna experiencia con vmboxes
Akisame

Esto es lo más cerca que he estado de obtener enlaces de mac en Linux. Sin embargo, parece xte 'key Home'que no funciona cuando está vinculado a cualquier pulsación de tecla en el archivo .xbindkeysrc. He probado una variedad como "Shift + i". También lo he visto funcionar al hacer 'sleep 15 && xte' key Home '"(cambiar a gedit y ver el trabajo a domicilio). La mayoría de los comentarios que recibo cuando tengo las cosas configuradas con" Alt + Left "para el hogar es un flash del cursor. ¿Alguna ayuda en esto? gist.github.com/Kikketer/658d89661a044121279afbba04a511fa
Chris

8

No es necesario usar xbindkeyspara lograr la asignación de teclado similar a OSX en Ubuntu. Esta es una opción incorporada:

  1. Ve a la configuración de Ubuntu
  2. Navega hasta Teclado Configuración de distribución del teclado
  3. agregar Inglés (Macintosh)

77
No veo Keyboard Layout Settingsen Ubuntu 14.0.4
Chovy

Esto no funciona en VirtualBox. Todo lo que obtuve fue una ventana reducida cuando intenté copiar / pegar.
chovy

jajaja, después de tanto tiempo probando todas las otras soluciones, esta es tan fácil y funcionó de inmediato. (Ubuntu 14.04.3 LTS de 64 bits en VirtualBox 5.0.4). Gracias
Allisone

Esto no funciona para mí, en virtualbox.
Peter Brooks

3
Esta respuesta claramente ya no funciona para las versiones más nuevas de Ubuntu. Cualquiera que sea la última versión de Ubuntu en 2014, funcionó para eso.
boulder_ruby

3

Esta es una respuesta actualizada para cualquiera que tenga problemas con este problema con versiones más recientes de Ubuntu.

Acabo de instalar Ubuntu 16.04.1 través de VirtualBox y no pude obtener la configuración del teclado para que coincida con mi MacBook.

Esto es lo que hice para solucionarlo:

  1. Navegue a la configuración del sistema .
  2. Seleccionar entrada de texto (es decir, no teclado ).
  3. Debajo de la lista con el encabezado Fuentes de entrada para usar: hay un signo más y un signo menos - haga clic en el signo más.
  4. En el cuadro de texto debajo de Elegir una fuente de entrada tipo de en la distribución del teclado que requiera (en mi caso, elijo Inglés (Reino Unido, Macintosh).
  5. Use la flecha hacia arriba para convertirlo en su diseño de teclado predeterminado en Ubuntu.
  6. Elimina los otros diseños de teclado. No fue hasta que eliminé los otros diseños que los cambios entraron en vigencia.

1
¿Cuál es el efecto de esto? Por ejemplo, la tecla de control en un Macintosh está en el mismo lugar que en un teclado normal. Dado que ctrl-c / v sigue siendo los comandos predeterminados de copiar y pegar del sistema, esto no responderá a la pregunta original de reasignar ese tipo de accesos directos de todo el sistema, por lo que imita una Mac.
Coljac

2

Estoy en Ubuntu 16.04, VirtualBox 5.1.22 y ninguna de estas respuestas funcionó para mí, incluida la desafortunada de David Brower .

Esto es lo que hizo para que mi tecla de comando OSX izquierda funcionara (¡persistentemente!):

  1. Primero debes asegurarte de que VirtualBox no esté usando Left ⌘ como la tecla Host
    • En la barra de menú superior de su ventana de VM, seleccione Input > Keyboard > Keyboard Settings..
    • En la lista de configuraciones, busque Combinación de teclas de host y cambie el acceso directo a otro que no sea Izquierda ⌘ (acabo de usar Derecha ⌘ ya que nunca la uso).
  2. Ahora que definitivamente puede usar el Left ⌘ en el entorno VM, reasigne las teclas con XKB:
    • Abrir y (con cuidado) editar: /usr/share/X11/xkb/symbols/pc
    • Simplemente cambié <LCTL>y me di la <LWIN>vuelta, así se ve así:
    • key <LCTL> { [ Super_L ] };
    • key <LWIN> { [ Control_L ] };
  3. Ahora borre las asignaciones antiguas del caché xkb:
    • rm -rf /var/lib/xkb/*
  4. Reinicie ubuntu para que los cambios surtan efecto.

Palabra de advertencia: evitaría hacer más de un cambio a la vez a través de xkb a menos que realmente sepa lo que está haciendo, ¡un par de teclas asignadas incorrectamente al mismo tiempo podría ser un verdadero dolor de cabeza!

Crédito total a Radu Cotescu por las instrucciones de reasignación de xkb: fueron para ubuntu 14.04, sin embargo, funcionan bien para ubuntu 16.04.


¡Asegúrate de tomar una instantánea antes de hacer esto! Afortunadamente tuve para otro propósito, y después de hacer esto, Ubuntu no arrancó correctamente. Revertí y comenzó a funcionar nuevamente. Estoy usando 18.04 por lo que vale.
tom

2

Buscando en otras preguntas, he encontrado esta herramienta para asignar el Ctrl al teclado de Macbook CMD Izquierda para hacer CMD + C o CMD + V o algo más:

Instale la aplicación gnome-tweaks:

sudo apt-get install gnome-tweaks

Abra la aplicación Applications -> Gnome Tweaksy asigne CTRL a WIN (igual que CMD en Mac) haciendo esto:

  1. Teclado y ratón
  2. Opciones de diseño adicionales (super izquierda)
  3. Comportamiento de teclas Alt / Win
  4. Ctrl se asigna a Win y las teclas Ctrl habituales`

Disfruta CMD + C or CMD + Ven tu OSX VirtualBox usando ubuntu-18 VM.


Trabajó. <filler>
skwny

Esto me perdió la capacidad de usar la tecla Win / Apple. En su lugar, hice lo siguiente para el Paso 3 y 4: (3) Ctrl position, (4) Swap Left Win with Left Ctrl.
Turgs

0

Todavía estoy ejecutando Ubuntu 12.04 por varias razones, por lo que no puedo hablar para iteraciones posteriores, pero intente esto:

Bien, en primer lugar, es posible que desee establecer su clave de host VB en algo específico, como el comando correcto o la tecla alt correcta ... algo que no usa normalmente. Creo que el valor predeterminado es la tecla de comando izquierda, que interferirá con las operaciones de la mayoría de las personas.

Esto se puede hacer en las preferencias de VirtualBox (en lugar de dentro de la máquina invitada o como cualquier configuración específica de la máquina). Con la aplicación VB abierta (no la ventana de VM), elija VirtualBox-> Preferencias-> Entrada, luego seleccione la clave de host en la cabecera de la lista de mapeo / campo "Máquina virtual".

Bien, después de eso, dentro de la máquina invitada de Ubuntu:

  1. Abra la configuración del sistema y elija Distribución del teclado.
  2. Abra la pestaña Diseños.
  3. Probablemente solo tendrá una entrada: inglés (EE. UU.) O algo así. Resalta esto y haz clic en el botón "Opciones" en la esquina inferior derecha.
  4. Abra el expansor "Alt / Win Key Behavior".
  5. Elija "El control está asignado a las teclas Win (y las teclas Ctrl habituales)".

Debería encontrar que su tecla de comando Mac ahora funciona como se desea para comando-C, comando-V, etc.


0

En el caso de Kubuntu 18.04 con Plasma 5, lo que funcionó para mí fue (En Configuración del sistema / Dispositivos de entrada / Teclados) configurar el hardware como 'genérico de 104 teclas' y el diseño como 'inglés (macintosh)'


-1

Eso dependerá del software que esté utilizando para ejecutar su máquina virtual. Por ejemplo, uso VMWare Fusion para ejecutar Ubuntu en mi Mac y para lograr lo que desea, fui a "Configuración" de VMWare Fusion y configuré la asignación de teclas que quería dentro de esa máquina virtual específica (puedo tener varias configuraciones, una para cada VM).

Nunca utilicé VirtualBox, pero estoy bastante seguro de que puedes hacerlo en la Configuración de VirtualBox.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.