क्या मेरी मॉनिटर सेटिंग सहेजने का कोई तरीका है? मेरे पास काम पर एक बाहरी मॉनिटर है, लेकिन प्रत्येक सुबह मुझे इसे प्लग करना पड़ता है, खिड़कियों को एक दूसरे के शीर्ष पर होने की ओर से फिर से व्यवस्थित करना। क्या मैं इसे बचा सकता हूं?
क्या मेरी मॉनिटर सेटिंग सहेजने का कोई तरीका है? मेरे पास काम पर एक बाहरी मॉनिटर है, लेकिन प्रत्येक सुबह मुझे इसे प्लग करना पड़ता है, खिड़कियों को एक दूसरे के शीर्ष पर होने की ओर से फिर से व्यवस्थित करना। क्या मैं इसे बचा सकता हूं?
जवाबों:
लंबी कहानी छोटी (यह है: निकोलस बर्नर्ट्स जो सुझाव देते हैं, वह करें, लेकिन मैं आपको विवरणों को छोड़ देता हूं): मॉनिटर कॉन्फ़िगरेशन वास्तव में सहेजा जाता है ~/.config/monitors.xml
, लेकिन यह स्टार्टअप / लॉगिन पर लागू नहीं होता है।
इसे दूर करने के चरण निम्न हैं:
गलत मॉनिटर कॉन्फ़िगरेशन के साथ लॉग इन करें।
वर्तमान मॉनिटर कॉन्फ़िगरेशन निकालें:
cd .config
mv monitors.xml{,.bak}
जैसा कि आप चाहते हैं, मॉनिटर की व्यवस्था करने के लिए डिस्प्ले एप्लिकेशन का उपयोग करें (मेरे पास एक साइड मॉनिटर घुमाया हुआ वामावर्त है)।
एक बार जब आप लागू करें दबाते हैं , एक नया monitors.xml
बनाया जाता है।
अब, डाउनलोड करें और निष्पादन योग्य स्क्रिप्ट और लॉन्चर को बनाएं जो नए बनाए गए कॉन्फ़िगरेशन फ़ाइल के आधार पर मॉनिटर कॉन्फ़िगरेशन को मजबूर करता है:
$ sudo wget -O /usr/local/sbin/update-monitor-position https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position
$ sudo chmod +x /usr/local/sbin/update-monitor-position
$ sudo wget -O /usr/share/applications/update-monitor-position.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop
$ sudo chmod +x /usr/share/applications/update-monitor-position.desktop
इस बिंदु पर, मॉनिटर का कॉन्फ़िगरेशन अपडेट मॉनिटर स्थिति एप्लिकेशन लॉन्च करके तय किया जा सकता है ।
यदि आप चाहते हैं कि यह स्वचालित हो, तो निम्नलिखित प्रविष्टियों के साथ बस एक स्टार्टअप एप्लिकेशन जोड़ें:
Update Monitors Position
update-monitor-position 5
Force monitors position 5 seconds after login
आपके सभी मॉनिटरों के लिए कॉन्फ़िगरेशन - हॉट-प्लग किया गया है या नहीं - इसके$HOME/.config/monitors.xml
लिए xrandr
प्लगइन द्वारा संग्रहीत किया जाना चाहिए gnome-settings-daemon
, जो कि वास्तव में आपके द्वारा मॉनिटर किए गए कॉन्फ़िगरेशन पर लागू होता है।
चूंकि ऐसा लगता है कि यह सभी के लिए ठीक से काम नहीं कर रहा है, इसलिए स्पष्ट रूप से कहीं न कहीं एक बग है। Urgh।
अपने बाहरी मॉनीटर को कनेक्ट करने के लिए पहले तीन चरण जिस तरह से आप चाहते हैं और 4 वीं सेटिंग्स को बचाने के लिए है।
अपने बाहरी मॉनिटर को कनेक्ट करें और इसके समर्थित रिज़ॉल्यूशन की जाँच करें:
xrandr -q
निम्नलिखित कमांड दें (यह आपके लैपटॉप मॉनीटर को निष्क्रिय कर देगा):
xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
यदि आप लैपटॉप और बाहरी दोनों सक्षम हैं:
xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
(yyyyXzzzz - आपका लैपटॉप रिज़ॉल्यूशन।)
उपरोक्त कॉन्फ़िगरेशन आपकी स्क्रीन को क्लोन करेगा। यदि आप चाहते हैं कि " --right-of
/ --left-of
" विकल्प के साथ खेलें ।
यदि आपको लॉगिन करते समय इस सेटिंग्स की आवश्यकता है, तो चेक जोड़ें /etc/X11/Xsession.d/45custom_xrandr-settings
(आपको एक बनाने की आवश्यकता हो सकती है)।
xrandr |grep VGA1 | grep " connected " | if [ $? -eq 0 ]; then xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal #Change the way u need ; fi
कार्यालय में, मेरे लैपटॉप पर 3 मॉनिटर हैं, और घर पर 2 हैं। दो कार्यालय मॉनिटर ऊर्ध्वाधर सेट हैं, जबकि अन्य मॉनिटर सामान्य अभिविन्यास पर हैं।
A. मॉनिटर। Xml ~ / .config में है।
B. शेल स्क्रिप्ट प्राप्त करें, "अपडेट-मॉनिटर-पोजिशन"।
"MONITOR_XML" परिभाषा, "मॉनिटर.एक्सएमएल" को "मॉनिटर-ऑफिस.एक्सएमएल" में बदलें।
निष्पादन योग्य पथ (/ usr / स्थानीय / sbin /) में इसे "अपडेट-मॉनिटर-पोज़िशन-ऑफ़िस" के रूप में सहेजें।
सी। डेस्कटॉप शॉर्टकट प्राप्त करें, "अपडेट-मॉनीटर-पोजिशन। शेड्सकोड"
अद्यतन-मॉनिटर स्थिति-office.desktop:
[Desktop Entry]
Type=Application
Exec=update-monitor-position-office
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=Office Monitors Position
Name=Office Monitors Position
Comment[en_US]=Force monitors position from monitor-office.xml
Comment=Force monitors position from monitor-office.xml
Icon=display
शेल स्क्रिप्ट, अद्यतन-मॉनिटर-स्थिति-कार्यालय
#!/bin/bash
# -------------------------------------------------
# Get monitors configuration from monitor.xml and apply it for current user session.
# In case of multiple definitions in monitor.xml only first one is used.
#
# See http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost
# for instructions
#
# Parameters :
# $1 : waiting time in sec. before forcing configuration (optional)
#
# Revision history :
# 19/04/2014, V1.0 - Creation by N. Bernaerts
# 10/07/2014, V1.1 - Wait 5 seconds for X to fully initialize
# 01/09/2014, V1.2 - Correct NULL file bug (thanks to Ivan Harmady) and handle rotation
# 07/10/2014, V1.3 - Add monitors size and rate handling (idea from jescalante)
# 08/10/2014, V1.4 - Handle primary display parameter
# 08/12/2014, V1.5 - Waiting time in seconds becomes a parameter
# -------------------------------------------------
# monitor.xml path
MONITOR_XML="$HOME/.config/monitors-office.xml"
# get number of declared monitors
NUM=$(xmllint --xpath 'count(//monitors/configuration['1']/output)' $MONITOR_XML)
# loop thru declared monitors to create the command line parameters
for (( i=1; i<=$NUM; i++)); do
# get attributes of current monitor (name and x & y positions)
NAME=$(xmllint --xpath 'string(//monitors/configuration['1']/output['$i']/@name)' $MONITOR_XML 2>/dev/null)
POS_X=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/x/text()' $MONITOR_XML 2>/dev/null)
POS_Y=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/y/text()' $MONITOR_XML 2>/dev/null)
ROTATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rotation/text()' $MONITOR_XML 2>/dev/null)
WIDTH=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/width/text()' $MONITOR_XML 2>/dev/null)
HEIGHT=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/height/text()' $MONITOR_XML 2>/dev/null)
RATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rate/text()' $MONITOR_XML 2>/dev/null)
PRIMARY=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/primary/text()' $MONITOR_XML 2>/dev/null)
# if position is defined for current monitor, add its position and orientation to command line parameters
[ -n "$POS_X" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--output" "$NAME" "--pos" "${POS_X}x${POS_Y}" "--fbmm" "${WIDTH}x${HEIGHT}" "--rate" "$RATE" "--rotate" "$ROTATE")
# if monitor is defined as primary, adds it to command line parameters
[ "$PRIMARY" = "yes" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--primary")
done
# if needed, wait for some seconds (for X to finish initialisation)
[ -n "$1" ] && sleep $1
# position all monitors
xrandr "${PARAM_ARR[@]}"
jay का जवाब मेरे लिए लगभग काम कर गया, लेकिन मुझे कुछ अतिरिक्त कदम करने की जरूरत थी। मैं उनके जवाब पर यह टिप्पणी करूंगा लेकिन मेरे पास प्रतिष्ठा नहीं है।
फ़ाइल अपडेट-मॉनिटर-पोज़िशन-ऑफ़िस में:
मैं इस स्क्रिप्ट को टर्मिनल से चलाना पसंद करता हूं क्योंकि मैं लॉगिन के बाद सबसे पहले खोलता हूं।
पहले खराब कॉन्फ़िगरेशन के साथ लॉगिन - मॉनिटर को सही तरीके से नहीं रखा गया है:
cd ~/.config
mv ~/.config/monitors.xml{,.bak}
अब ~/.config/monitors.xml
उचित सेटिंग के साथ एक नई फ़ाइल बनाने के लिए सिस्टम मॉनिटर के साथ अपने मॉनिटर सेट करें ।
मेरे रेपो से निकोलस बर्नैर्ट्स की निर्धारित स्क्रिप्ट की प्रतिलिपि बनाएँ: https://raw.githubusercontent.com/alextomko/monitors/master/monitors और इसे टर्मिनल से चलाने के लिए एक पथ पर रखें।
$ ls -l ~/bin
# if you don't have this directory then create it - do not be logged in as root here.
$ mkdir /home/$USER/bin
$ echo $PATH
# should show /home/username/bin if the dir existed or if you had to create.
$ wget -P ~/bin https://raw.githubusercontent.com/alextomko/monitors/master/monitors
$ chmod +x ~/bin/monitors
# Log out, lock, reboot or whatever it takes to make monitor settings lost for you and run the script.
$ monitors
नहीं, हॉट-प्लग किए गए मॉनिटर पर कॉन्फ़िगरेशन को बचाने का कोई तरीका नहीं है। यदि आप बूट करने से पहले प्लग करते हैं, तो गनोम को प्रत्येक डिवाइस पर प्रति बूट आधार पर विन्यास को याद रखना चाहिए (यानी, घर पर काम पर अपने मॉनिटर से कनेक्ट करना)।
~/.config/monitors.xml
, लेकिन यह स्टार्टअप पर लागू नहीं होता है