অফিসে, আমার ল্যাপটপে আমার 3 জন মনিটর এবং বাড়িতে 2 জন রয়েছে। অফিসের দু'জন মনিটরের উল্লম্ব সেট করা হয়, অন্য মনিটররা সাধারণ অভিযোজনে থাকে।
উ। মনিটর.এক্সএমএল ~ / .config এ রয়েছে।
- মুছে ফেল
- অফিস সেটআপে ডিসপ্লে সেট করুন
- সবেমাত্র "মনিটরস.এক্সএমএল" "মনিটর-অফিস.এক্সএমএল" তৈরি করে নাম পরিবর্তন করুন।
বি। শেল স্ক্রিপ্ট, "আপডেট-মনিটর-পজিশন" পান।
"মনিটর_এক্সএমএল" সংজ্ঞা, "মনিটরস.এক্সএমএল" কে "মনিটর-অফিস.এক্সএমএল" এ পরিবর্তন করুন।
এক্সিকিউটেবল পাথে (/ usr / লোকাল / এসবিন /) এটিকে "আপডেট-মনিটর-পজিশন-অফিস" হিসাবে সংরক্ষণ করুন।
- অনুমতিটি স্পর্শ করুন -> "আমি" দ্বারা নির্বাহযোগ্য।
সি। ডেস্কটপ শর্টকাট পান, "আপডেট-মনিটর-অবস্থান.ডেস্কটপ"
- "এক্সিকিউশন" সংজ্ঞা, "আপডেট-মনিটর-পজিশন"
"আপডেট-মনিটর-পজিশন-অফিস" এ পরিবর্তন করুন।
- এটিকে "আপডেট-মনিটর-পজিশন-অফিস.ডেস্কটপ" হিসাবে সংরক্ষণ করুন
- অনুমতিটি স্পর্শ করুন -> "আমি" দ্বারা নির্বাহযোগ্য।
আপডেটের মনিটরে অবস্থানে রয়েছে এমন-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[@]}"