Можно ли сделать так, чтобы рабочие области Ubuntu Switch переключались на определенный промежуток времени?

У меня есть компьютер, подключенный к телевизору, который я использую для отображения разных данных. Я хотел бы установить несколько разных программ в разных рабочих пространствах и сделать так, чтобы они автоматически вращались по времени. Как бы я это сделал?

4
задан 29 October 2013 в 23:39

2 ответа

Если Вы используете 4 рабочих области в качестве значения по умолчанию в Ubuntu (и я подозреваю, что это - Ваш случай, потому что, как Вы сказали, поворачивают рабочие области), можно использовать следующий сценарий:

#!/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
3
ответ дан 29 October 2013 в 23:39

Да, и это очень легко. Вам просто нужен инструмент для нажатия клавиш, которые вы нажимаете, чтобы изменить рабочее пространство. Одним из таких инструментов является xdotool. Чтобы установить его:

 $ sudo apt-get install xdotool

Затем вам просто нужно создать скрипт, подобный этому (здесь я предполагаю, что у вас есть только 2 рабочих пространства, и вы используете Ctrl + Alt + Left / Right для переключения между ними, но Вы можете легко расширить его в соответствии со своими потребностями):

!/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

Не забудьте сделать его исполняемым. Если вы создадите его в /usr/local/bin/workspace_switcher, вы можете сделать это, используя

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

. Затем, чтобы запустить его, вам просто нужно нажать Alt + F2 и набрать workspace_switcher. Чтобы остановить это, вы можете использовать killall workspace_switcher

0
ответ дан 29 October 2013 в 23:39

Другие вопросы по тегам:

Похожие вопросы: