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