¿Cómo ejecutar un comando sin presionar la tecla Intro?

119

Accidentalmente mapeé Entervía xkbseta Pointer_button2.

Ahora, cada vez que golpeo, Enteraparece un texto de galimatías.

Pensé en una solución alternativa que implicaba reasignarlo de nuevo, pero eso significa que tendré que ejecutar un comando xmodmap -e "keycode 135 = Pointer_Button2"(o cualquier otro código clave que no sea el de Enter). Pero no puedo ejecutar este comando en la terminal, sin presionar Enter.

¿Cómo lo hago?

Estoy ejecutando Ubuntu 12.04.

usuario13107
fuente
55
Un día, las computadoras podrán deshacer cualquier cosa. Como lo tenemos ahora con las instantáneas del sistema de archivos, pero con el contenido de RAM ... como retroceder lo que estamos haciendo. Anula el ingreso de un comando. Desbloquee un archivo. Anula la ejecución de un programa. Deshaga los últimos 5 minutos. Luego, más tarde, Internet se pondrá al día ... No lea un sitio web: ¡Nunca estuvo allí! Tal vez algún día podamos deshacer los accidentes automovilísticos, restaurar los postes de la lámpara en posición vertical, etc.
Johan
2
@Johan ¿Qué tipo de sustancias tomaste cuando escribiste este comentario? </kidding>
Luc M

Respuestas:

125

Puede usar CTRL+ Jo CTRL+ Mcomo alternativa a Enter. Son los caracteres de control para salto de línea (LF) y retorno de carro (CR).

camh
fuente
44
Sheesh ... ¿por qué las personas con 6.705 puntos no pueden dejar que algunas de estas preguntas fáciles pasen a las vastas masas sin lavar para responder? (Solo bromeaba - +1 por la respuesta que iba a publicar.)
Jan Steinman
55
@ JanSteinman Porque entonces solo tendrían 6.330 puntos (6705 - 15 - 36 * 10). : P
ernie
3
@ JanSteinman: ¡Lo dejé pasar! Ya había otras tres respuestas cuando respondí, y una fue aceptada. Parece que los niños en estos días no conocen su ASCII :-) (@ernie: hay un límite diario de reputación, por lo que no obtienes todos esos puntos).
camh
Gracias por aceptar algunas costillas bondadosas, sin intención alguna. Si lo sabes, ¡muéstralo!
Jan Steinman
2
@ user13107 No tanto histórico como solo la definición del código ASCII en sí. Cuando ASCII era prácticamente todo lo que había (a menos que estuvieras en tierra de IBM), las teclas de retorno y avance de línea tenían que codificarse como algo para que pudiéramos escribirlas en nuestros confiables teletipos ASR-33 o nuestras tarjetas perforadas. Incluso hay un paquete ascii que puede instalar que lo mostrará. La tecla Ctrl simplemente tomó el código de uno de los primeros 32 caracteres y volvió a establecer un bit en 0. Para M, cambió 4D a 0D, que es un retorno de carro (y realmente había un carro en un ASR-33. )
Joe
40

En una ventana de terminal (he probado solamente aterm, rxvt, vtey xterm) se puede seleccionar el final de la línea, que pegado posterior tiene el efecto de prensado Enter:

#          ____________type the command____________  __select to end of line__
#         /                                        \/                         \
bash-4.2$ xmodmap -e "keycode 135 = Pointer_Button2"

Luego pegue el texto seleccionado nuevamente en la ventana del terminal con el botón central del mouse (o con el botón simultáneo del botón izquierdo y derecho del mouse, si está configurado).

hombre trabajando
fuente
1
¡Bueno! Pensé que no hay forma de copiar y pegar caracteres no imprimibles.
user13107
26

Ejecute el comando desde un terminal que no sea X.

CTRL+ ALT+ F2debería llevarte a una consola normal. Inicie sesión como usuario normal y luego ejecute el comando allí.

xmodmapsolo afecta a las sesiones X, por lo que debe DISPLAYfuncionar fuera del servidor X, de esta manera:

DISPLAY=:0 xmodmap
Burhan Khalid
fuente
Gracias. Pero da error quexmodmap unable to open display ``
user13107
1
Puede darle una pantalla con DISPLAY="0", o editar el archivo, debe estar en$HOME/.Xmodmap
Burhan Khalid
66
Pequeño error tipográfico:DISPLAY=:0
Lekensteyn
14

Puede ponerlo en un script (.sh) y luego hacer doble clic en él. La mayoría de los entornos de escritorio modernos ofrecen la opción de ejecutar un script en lugar de abrirlo en un archivo de texto.

terdon
fuente
Gracias. Lo intenté. No encontré la opción de ejecutarlo como un script.
user13107
Okay. Funciona después de cambiar las propiedades del archivo.
user13107
11

Si tiene un mouse y una pantalla gráfica, puede copiar el final de una línea anterior en su terminal y pegarlo al final de su comando.

Eric Layton
fuente
4

CTRL+ Oes otra opción. Con bash ejecuta el comando y pasa al siguiente más reciente en la historia, es útil retroceder a través de una cadena de comandos ejecutados previamente.

Graeme
fuente
1

Si tiene un mouse, simplemente copie esto -> "

"

y pegue junto a su comando y luego pegue todo el comando en la terminal.

Me gusta ingrese la descripción de la imagen aquí

xeon
fuente
Esto ya se ha dado como respuesta
Philippos,