É possível fazer espaços de trabalho do switch ubuntu em um intervalo de tempo?

4

Eu tenho um computador ligado a uma televisão que estou usando para mostrar dados diferentes. Eu gostaria de configurar alguns programas diferentes em espaços de trabalho diferentes e girar os espaços de trabalho automaticamente em uma base de tempo. Como eu faria isso acontecer?

    
por justingrif 29.10.2013 / 20:39

2 respostas

3

Se você usar 4 espaços de trabalho como padrão no Ubuntu (e eu suspeito que este é o seu caso porque você disse que gira os espaços de trabalho ), você pode usar o seguinte script:

#!/bin/bash

#check if xdotool is installed
if [ ! -n "$(dpkg -s xdotool 2>/dev/null | grep 'Status: install ok installed')" ]; then
    echo -e "The package 'xdotool' must to be installed before to run $(basename $0)\nUse 'sudo apt-get install xdotool' command in terminal to install it."
    exit
fi

delay=5 #change as you wish

echo "Press Ctrl+C to finish"

#start with workspace 0 (top left)
xdotool key Ctrl+Alt+Left
xdotool key Ctrl+Alt+Up

#switch workspaces 
while : ; do
    workspace_nr=0
    until [ $workspace_nr = 4 ]; do
        sleep $delay
        case $workspace_nr in 
            0) xdotool key Ctrl+Alt+Right ;;
            1) xdotool key Ctrl+Alt+Down ;;
            2) xdotool key Ctrl+Alt+Left ;;
            3) xdotool key Ctrl+Alt+Up ;;
        esac
        ((workspace_nr++))
    done
done
    
por Radu Rădeanu 29.10.2013 / 22:11
4

Sim, e é muito fácil. Você só precisa de uma ferramenta para pressionar as teclas que você pressionaria para alterar o espaço de trabalho. Uma dessas ferramentas é xdotool . Para instalá-lo:

 $ sudo apt-get install xdotool

Então você só precisa criar um script como este (aqui eu suponho que você tenha apenas 2 espaços de trabalho, e use Ctrl + Alt + Esquerda / Direita para mudar entre eles, mas você pode facilmente estendê-lo para atender às suas necessidades) :

!/bin/bash

TIME=10 # shifts workspace after 10 sec.

while [ 1 ]; do
        sleep $TIME
        xdotool key ctrl+alt+Right
        sleep $TIME
        xdotool key ctrl+alt+Left
done

Não se esqueça de torná-lo executável. Se você criar em /usr/local/bin/workspace_switcher , você pode fazer isso usando

 $ sudo chmod +x /usr/local/bin/workspace_switcher

Então, para começar, basta pressionar Alt + F2 e digitar workspace_switcher . Para pará-lo, você pode usar killall workspace_switcher

    
por Salem 29.10.2013 / 21:50