Gần đây tôi đưa xset b offvào .bashrc của tôi. Bây giờ tôi cảm thấy khó chịu vì lỗi đã bật lên khi tôi đăng nhập qua tty hoặc qua ssh, tức là ngoài phiên X.
Điều đầu tiên xuất hiện trong đầu tôi là [[ -z "$SOME_VAR" ]] && xset b off(ừm, hóa ra biến kiểm tra được đặt so với trống là một câu hỏi khác). Nhưng SOME_VAR nào là đúng?
Vì vậy, tôi đã setphân tách đầu ra của tty và đầu ra của urxvt setđể xem biến nào được đặt trong X và thiếu trong tty. Đúng như dự đoán, có khá nhiều sự khác biệt (chỉ liệt kê những thứ có vẻ phù hợp với tôi):
DESKTOP_SESSIONDISPLAYGDMSESSIONSESSION_MANAGERWINDOWIDWINDOWPATHXAUTHORITYXDG_SESSION_COOKIEXDG_CONFIG_DIRSXDG_DATA_DIRSXDG_MENU_PREFIX
Cái nào là chính xác và phổ biến nhất để kiểm tra để phát hiện xem tôi có tham gia phiên X hay không? Một cái gì đó sẽ hoạt động trên càng nhiều distro và nền tảng và môi trường máy tính để bàn càng tốt?
Hoặc có cách nào tốt hơn so với thử nghiệm các biến môi trường?
ssh -X; hoạt động tốt