سؤال هل من الممكن إنشاء مساحات عمل تبديل أوبونتو على فاصل زمني محدد؟


لدي جهاز كمبيوتر متصل بالتلفزيون الذي أستخدمه لإظهار بيانات مختلفة. أرغب في إعداد بعض البرامج المختلفة على مساحات عمل مختلفة وجعلها تقوم بتدوير مساحات العمل تلقائيًا على أساس زمني. كيف أجعل هذا يحدث؟


4
2017-10-29 19:39


الأصل




الأجوبة:


إذا كنت تستخدم 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

3
2017-10-29 21:11



هذا هو بالضبط ما كنت أبحث عنه. هذا العمل على أكمل وجه. - justingrif


نعم ، إنه سهل للغاية. تحتاج فقط إلى أداة للضغط على المفاتيح التي قد تضغط عليها لتغيير مساحة العمل. واحدة من هذه الأدوات هي xdotool. لتثبيته:

 $ sudo apt-get install xdotool

ثم تحتاج فقط إلى إنشاء برنامج نصي مثل هذا (هنا أفترض أن لديك مساحة عمل فقط ، وأنك تستخدم Ctrl + Alt + يسار / يمين للتغيير بينهما ، ولكن يمكنك تمديده بسهولة ليتناسب مع احتياجاتك):

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


4
2017-10-29 20:50