Estoy usando el terminador 0.96 como emulador de terminal. ¿Cómo puedo hacer que se ejecute en segundo plano y hacer que aparezca / desaparezca como un terminal guake (es decir, usando una tecla de acceso directo).
Estoy usando el terminador 0.96 como emulador de terminal. ¿Cómo puedo hacer que se ejecute en segundo plano y hacer que aparezca / desaparezca como un terminal guake (es decir, usando una tecla de acceso directo).
Respuestas:
Intentaba hacer lo mismo (ser fanático de guake y terminator). Esto es lo que se me ocurrió (una versión personalizada de la respuesta de desqua a esta pregunta ):
Para iniciar una aplicación o mostrar su ventana si ya se inició o minimizar si está enfocada
1) Instale wmctrl y xdotool , o en un terminal:sudo apt-get install wmctrl xdotool
2) Hacer un guión:
Y pegue esto:
#!/bin/bash
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
# - customized to accept a parameter
# - made special exception to get it working with terminator
# First let's check if the needed tools are installed:
tool1=$(which xdotool)
tool2=$(which wmctrl)
if [ -z $tool1 ]; then
echo "Xdotool is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install xdotool
else
echo "Exiting then..."
exit 1
fi
fi
if [ -z $tool2 ]; then
echo "Wmctrl is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install wmctrl
else
echo "Exiting then..."
exit 1
fi
fi
# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=$1
if [[ $app == terminator ]]; then
process_name=usr/bin/terminator
else
process_name=$app
fi
# Check if the app is running (in this case $process_name)
#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)
# If it isn't launched, then launch
if [ -z $pid ]; then
$app
else
# If it is launched then check if it is focused
foc=$(xdotool getactivewindow getwindowpid)
if [[ $pid == $foc ]]; then
# if it is focused, then minimize
xdotool getactivewindow windowminimize
else
# if it isn't focused then get focus
wmctrl -x -R $app
fi
fi
exit 0
chmod +x ~/bin/launch_focus_min.sh
3) Haz tu atajo de teclado:
Abra la configuración del teclado y cree un shorcut personalizado con el comando: /home/<user>/bin/launch_focus_min.sh terminator
(~ / bin no funcionará)
asigne este comando a Shift + Escape (o cualquier método abreviado de teclado que haya utilizado para guake).
#!/bin/bash
La forma más fácil de hacer esto sería usar xdotool
y usar el windowunmap/windowmap
comando para ocultar / mostrar la clase de ventanas deseada. (Este enfoque no se mencionó en las otras respuestas que mencionan xdotool
). La solución funcionará bien en todos los escritorios, independientemente del administrador de ventanas que estén utilizando. Como señala la página de manual ,
En la terminología X11, mapear una ventana significa hacerla visible en la pantalla.
Entonces, desasignar una ventana hará lo contrario y ocultará la ventana. Desafortunadamente, no hay una palanca disponible para usar xdotool
para cambiar entre estados de mapa / no mapa, pero los dos comandos que necesita están a continuación. El primero esconde la ventana:
xdotool search --class terminator windowunmap %@
y el segundo revierte el efecto:
xdotool search --class terminator windowmap %@
Tenga en cuenta que si la ventana ya está minimizada, el windowunmap
comando no tendrá éxito.
Para obtener más información man xdotool
, consulte las páginas de manual de Ubuntu en línea y mi respuesta a esta pregunta relacionada .
Al seleccionar un conjunto de preferencias en Terminator, puede hacer que funcione casi de manera similar a Guake.
Consulte el siguiente artículo para obtener una explicación detallada.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html
Le aconsejaría que siga todos los pasos del artículo para obtener los resultados deseados. Me salté algunos pasos, pensando que no eran necesarios, pero en realidad eran necesarios para superar algunos errores.
Bueno, la solución más simple sería simplemente bloquear Terminator en el iniciador y usar el accesos directos que proporciona Ubuntu.
Puede iniciar cualquier aplicación que esté bloqueada en el iniciador utilizando el acceso directo del iniciador:
Súper + 1 a 9
Para obtener una lista completa de los accesos directos disponibles, mantenga presionada la tecla Súper .
Escribí un script para aumentar y minimizar el terminal gnome con byobu en linux mint, porque guake tiene algunos problemas extraños en la salida de la consola. Luego lo agregué a los accesos directos en la sección de teclado de administrador-> accesos directos.
script llamado guake-toggling-for-gnome-terminal.sh :
#!/usr/bin/env bash
if ! pgrep -x "gnome-terminal" > /dev/null
then
gnome-terminal --app-id us.kirkland.terminals.byobu -e byobu
fi
byobuVisible=$(xdotool search --onlyvisible byobu)
byobuNotVisible=$(xdotool search byobu)
xdotool windowminimize ${byobuVisible}
xdotool windowraise ${byobuNotVisible}
Byobu es solo el nombre de la ventana aquí.