Tôi hiểu rằng có hoặc có thể có những câu hỏi tương tự ở đây, nhưng câu hỏi này không liên quan đến nhà tù lửa
Firefox cũng không có bất kỳ sự chậm trễ nào khi bắt đầu.
Thông tin hệ điều hành:
Xubfox 20.04
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Fossa Fossa)"
VERSION_ID="20.04"
$ uname -a
Linux terrance-ubuntu 5.11.0-40-generic

Tôi chạy một kịch bản từ một crontab
điều đó sẽ khởi chạy trang đăng nhập ADP của tôi và bấm giờ cho tôi vào và ra vào những thời điểm cụ thể trong ngày. Điều này từng hoạt động hoàn hảo cho đến khi Firefox 94 được phát hành. Bây giờ, tôi hiểu rằng đối với điều khiển từ xa, Mozilla đã quyết định không sử dụng X11 nữa mà thay vào đó là D-Bus. Đối với cuộc sống của tôi, tôi không thể hiểu ý nghĩa của việc sử dụng D-Bus thay vì X11, ngoài việc họ cho rằng nó đơn giản hơn để sử dụng. Tôi cho rằng điều này có thể là do Wayland mà tôi không sử dụng.
Nếu tôi chạy tập lệnh sau từ thiết bị đầu cuối dòng lệnh vào những thời điểm cụ thể thì nó hoạt động hoàn hảo, nhưng nếu tôi chạy tập lệnh từ crontab
Tôi nhận được thông báo sau:

Kịch bản (vẫn là một công việc đang được tiến hành):
#!/bin/bash
đường dẫn thực1() {
[[ $1 = /* ]] && echo "$1" || tiếng vang "$PWD/${1#./}"
}
hàm dowcheck(){
trường hợp " ${daysofweek[@]} " trong
*\ ${DOW}\ *)
trả về 0;;
*)
trả lại 1;;
esac
}
chức năng kiểm tra thời gian(){
trường hợp " ${timesofday[@]} " trong
*\ ${HM}\ *)
trả về 0;;
*)
trả lại 1;;
esac
}
hàm daysoffcheck(){
trường hợp " ${daysoff[@]} " trong
*\ ${daymdy}\ *)
trả về 0;;
*)
trả lại 1;;
esac
}
OS_TYPE=$(uname -a | awk '{print $1}')
nếu [[ ${OS_TYPE} == "Linux" ]]; sau đó
OS=$(grep -i ^name= /etc/*release | awk -F= '{print $2}' | sed 's/\"//g')
khác
OS=$(system_profiler SPSoftwareDataType | awk '/Phiên bản hệ thống:/ {print $3}')
fi
nếu [ "${OS}" = "CentOS Linux" ]; sau đó
Hệ điều hành = Fedora
fi
trường hợp $OS trong
macOS) apppath=/Applications/Firefox.app/Contents/MacOS
export DISPLAY="/private/tmp/com.apple.launchd.*/org.macosforge.xquartz:0"
PWD=$(tên thư mục $(đường dẫn thực1 $(mà $0)));;
*) apppath=/usr/bin
DM=$(/usr/bin/basename $(/bin/cat /etc/X11/default-display-manager))
trường hợp $DM trong
lightdm)
xuất HIỂN THỊ=:0;;
gdm3)
grep -E "# AutomaticLogin|AutomaticLoginEnable = false" /etc/$DM/*.conf >/dev/null && export DISPLAY=:1 || xuất HIỂN THỊ=:0;;
*);;
esac
PWD=$(tên thư mục $(đường dẫn thực $(mà $0)));;
esac
DOW=$(ngày +%a)
HM=$(ngày +%H:%M)
daymdy=$(ngày +%m-%d-%Y)
if [[ "${daymdy}" > "$(head -1 $PWD/daysoff.txt)" ]]; sau đó
sed -i '1d' $PWD/daysoff.txt
fi
khai báo -a daysofweek=('Mon' 'Tue' 'Wed' 'Thu' 'Fri')
khai báo -a timesofday=('08:00' '12:00' '12:30' '16:30')
khai báo -a inout=('vào' 'ra ngoài ăn trưa' 'vào từ bữa trưa' 'ra ngoài trong ngày')
khai báo -a daysoff=($(cat $PWD/daysoff.txt))
cho tôi trong "${!timesofday[@]}"; làm
nếu [[ "${timesofday[$i]}" == "${HM}" ]]; sau đó
inorout="${inout[$i]}";
có;
xong
ngày nghỉ kiểm tra
doff=$?
kiểm tra lại
dow=$?
xem thời gian
thời gian = $?
nếu [[ $doff != "1" ]]; sau đó
echo "Hôm nay là ngày nghỉ! Tại sao bạn lại cố bấm giờ?"
thoát 1
elif [[ $dow != "0" ]]; sau đó
echo "Hôm nay là cuối tuần! Tại sao bạn lại cố bấm giờ?"
thoát 1
elif [[ $time != "0" ]]; sau đó
echo "Đó là $DOW ở mức $HM. Chưa đến lúc bấm giờ vào hoặc ra."
thoát 1
khác
echo "Đó là ${HM}. Đã hết giờ ${inorout}." | thư -s "Đồng hồ thời gian" mynumber@tmomail.net
echo "Đó là ${HM}. Đã hết giờ ${inorout}." | mail -s "Đồng hồ thời gian" myemail@gmail.com
xdotool mousemove --sync 677 1011
$apppath/firefox --new-tab https://workforcenow.adp.com/workforcenow/login.html &
$PWD/clock_in_out.bsh
đợi đã
fi
Nếu bất cứ ai có bất kỳ ý tưởng nào mà tôi có thể làm cho Firefox hoạt động với D-Bus giống như với X11 trước phiên bản 94, tôi sẽ đánh giá rất cao điều đó!