我有一台连接到电视的计算机,用于显示不同的数据。我想在不同的工作区设置一些不同的程序,并让它按时自动旋转工作区。我该如何实现这一点?
答案1
是的,而且非常简单。你只需要一个工具来按下你用来更改工作区所按的键。其中一个这样的工具是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
答案2
如果你在 Ubuntu 中默认使用 4 个工作区(我怀疑你的情况也是这样,因为你说过旋转工作区),可以使用如下脚本:
#!/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