हाल ही में मैंने xset b off
अपने .bashrc में डाला । जब मैं tty से या ssh के माध्यम से अर्थात X सत्र के बाहर लॉग इन करता हूँ, तो मैं उस त्रुटि से परेशान हो जाता हूँ।
मेरे दिमाग में सबसे पहले जो चीज आई थी [[ -z "$SOME_VAR" ]] && xset b off
(अच्छी तरह से, पता चला है कि परीक्षण चर सेट किया जा रहा है। खाली होना एक अलग सवाल है)। लेकिन कौन सा SOME_VAR सही है?
इसलिए मैंने tty के set
आउटपुट और urxvt के set
आउटपुट को यह देखने के लिए अलग किया कि कौन से चर X में सेट हैं और tty में गायब हैं। जैसा कि अपेक्षित था, काफी अंतर थे (केवल उन लोगों को सूचीबद्ध करना जो मेरे लिए प्रासंगिक थे):
DESKTOP_SESSION
DISPLAY
GDMSESSION
SESSION_MANAGER
WINDOWID
WINDOWPATH
XAUTHORITY
XDG_SESSION_COOKIE
XDG_CONFIG_DIRS
XDG_DATA_DIRS
XDG_MENU_PREFIX
यह पता लगाने के लिए कि मैं X सत्र में हूं या नहीं, परीक्षण करने के लिए कौन सा सबसे सही और सार्वभौमिक है? ऐसा कुछ जो संभव के रूप में कई distros और प्लेटफार्मों और डेस्कटॉप वातावरण में काम करेगा?
या वहाँ पर्यावरण चर परीक्षण से भी बेहतर तरीका है?
ssh -X
; ठीक काम करता है!