মনিটরের সেটিংস সংরক্ষণ করছেন?


16

আমার মনিটরের সেটিংস সংরক্ষণ করার কোনও উপায় আছে? আমার কর্মক্ষেত্রে একটি বাহ্যিক মনিটর রয়েছে, তবে প্রতি সকালে আমাকে এটি প্লাগ ইন করতে হবে, উইন্ডো পাশাপাশি থাকা থেকে একে অপরের শীর্ষে থাকার জন্য পুনরায় সাজিয়ে তুলতে হবে। আমি কি কেবল এটি সংরক্ষণ করতে পারি?

উত্তর:


7

দীর্ঘ গল্পের সংক্ষিপ্ত বিবরণ (এটি: নিকোলাস বার্নার্টস যা বলেছিল তা করুন , তবে আমি আপনাকে বিশদটি ছাড়াই ): মনিটরের কনফিগারেশনটি আসলে সংরক্ষণ করা হয় ~/.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
  • COMMAND: update-monitor-position 5
  • মন্তব্য: Force monitors position 5 seconds after login

এখানে চিত্র বর্ণনা লিখুন


1
দুর্দান্ত, এটি সাহায্য করেছে। ধন্যবাদ! এর জন্য কি কোনও বাগ রিপোর্ট রয়েছে?
ওন্দ্র Žižka


2
আমি মনে করি এটিই সেরা উত্তর। আমি একাধিক প্রোফাইল সমর্থন করার জন্য স্ক্রিপ্ট আপডেট হয়েছে: gist.github.com/relet/66a965cdf728e5278fbf52c9d1433be0 - আপনি "আপডেট মনিটরে অবস্থানে রয়েছে এমন অফিস" চালাতে চান শুধু উদাঃ মনিটর-office.xml আপনার monitors.xml কপি
relet

ভ্যানভুগ্ট: "আসলে, আসুন বাগ 1292398 ব্যবহার করুন যেহেতু সর্বাধিক ব্যবহারকারীরা এটির সন্ধান করছেন" " bugs.launchpad.net/ubuntu/+source/gnome- Shell
+

5

হট-প্লাগ বা না - - আপনার সব মনিটরের জন্য কনফিগারেশন উচিত সংরক্ষণ করা $HOME/.config/monitors.xmlদ্বারা xrandrজন্য প্লাগ-ইন gnome-settings-daemon, যা আসলে কনফিগারেশন আপনি মনিটর capplet ইন প্রযোজ্য।

যেহেতু মনে হচ্ছে এটি সবার জন্য সঠিকভাবে কাজ করছে না, স্পষ্টতই কোথাও একটি বাগ রয়েছে। Urgh।


হ্যাঁ, এবং ম্যাকো যেমন বলেছে, আমি যদি কম্পিউটারটি বন্ধ করে রাখি এবং এটি পুনরায় বুট আপ করি তবে এটি মনে পড়ে, যখন এটি ইতিমধ্যে চালু ছিল তখনই নয়।
অস্কার গডসন

4

আপনার বাহ্যিক মনিটরকে আপনি যেভাবে চান তার সাথে সংযোগ স্থাপনের জন্য প্রথম তিনটি পদক্ষেপ এবং 4 র্থ সেটিংস সংরক্ষণ করা।

  1. আপনার বাহ্যিক মনিটরটি সংযুক্ত করুন এবং এর সমর্থিত রেজোলিউশনটি পরীক্ষা করুন:

    xrandr -q
    
  2. নিম্নলিখিত কমান্ডটি দিন (এটি আপনার ল্যাপটপ মনিটরকে অক্ষম করবে):

    xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
    
  3. আপনি যদি উভয় ল্যাপটপ এবং বহিরাগত সক্ষম করতে চান:

    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" বিকল্পের সাথে খেলুন ।

  4. লগইন করার সময় আপনার যদি এই সেটিংসের প্রয়োজন হয় তবে চেকগুলিতে প্রবেশ করুন /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
    

2

অফিসে, আমার ল্যাপটপে আমার 3 জন মনিটর এবং বাড়িতে 2 জন রয়েছে। অফিসের দু'জন মনিটরের উল্লম্ব সেট করা হয়, অন্য মনিটররা সাধারণ অভিযোজনে থাকে।

উ। মনিটর.এক্সএমএল ~ / .config এ রয়েছে।

  1. মুছে ফেল
  2. অফিস সেটআপে ডিসপ্লে সেট করুন
  3. সবেমাত্র "মনিটরস.এক্সএমএল" "মনিটর-অফিস.এক্সএমএল" তৈরি করে নাম পরিবর্তন করুন।

বি। শেল স্ক্রিপ্ট, "আপডেট-মনিটর-পজিশন" পান।

  1. "মনিটর_এক্সএমএল" সংজ্ঞা, "মনিটরস.এক্সএমএল" কে "মনিটর-অফিস.এক্সএমএল" এ পরিবর্তন করুন।

  2. এক্সিকিউটেবল পাথে (/ usr / লোকাল / এসবিন /) এটিকে "আপডেট-মনিটর-পজিশন-অফিস" হিসাবে সংরক্ষণ করুন।

  3. অনুমতিটি স্পর্শ করুন -> "আমি" দ্বারা নির্বাহযোগ্য।

সি। ডেস্কটপ শর্টকাট পান, "আপডেট-মনিটর-অবস্থান.ডেস্কটপ"

  1. "এক্সিকিউশন" সংজ্ঞা, "আপডেট-মনিটর-পজিশন"
    "আপডেট-মনিটর-পজিশন-অফিস" এ পরিবর্তন করুন।
  2. এটিকে "আপডেট-মনিটর-পজিশন-অফিস.ডেস্কটপ" হিসাবে সংরক্ষণ করুন
  3. অনুমতিটি স্পর্শ করুন -> "আমি" দ্বারা নির্বাহযোগ্য।

আপডেটের মনিটরে অবস্থানে রয়েছে এমন-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[@]}"

আরে @ জে, আপনি জানুয়ারী 2018 এ উত্তর দিয়েছিলেন। (যদিও নিকোলাসের লিপিটি 4 বছরের পুরানো ... )। আমি কি ধরে নিতে পারি এটি এখনও সাম্প্রতিক উবুন্টু 16.x / 18.x এর অধীনে কাজ করছে? - আর যদি এটা Ubuntu- অধীনে কাজ করবে, আপনি যে কোনো ধৃষ্টতা আছে সহচর পাশাপাশি? (আমি আমার সিস্টেমে monitors.xML দেখেছি ...)
ফ্রাঙ্ক নোক

ফ্রাঙ্ক, আমার "16.04.5 এলটিএস" বলে। একটি পয়েন্ট, "ডিস-আপগ্রেড" এর পরে, আমাকে প্রক্রিয়াটি দিয়ে যেতে হবে, এবং তারপরে পুনরায় বুট করতে হবে। "সিস্টেম সেটিংস -> প্রদর্শনগুলি" আমার সিস্টেমে মজার কাজ করে। আমি 18.x চেষ্টা করার মোডে নেই ধন্যবাদ,
জয়

1

উবুন্টু 12.04 হট-প্লাগযুক্ত মনিটর সেটিংস স্মরণ করে। তবে সেগুলি তখনই প্রয়োগ করা হয় যখন আপনি সিস্টেম কনফিগারেশন> অ্যাপলেট প্রদর্শন করেন re এটি আমার ক্ষেত্রে, কমপক্ষে এবং এটি অবশ্যই একটি বাগ।


1

জয়ের উত্তরটি প্রায় আমার পক্ষে কাজ করেছিল, তবে আমার কয়েকটি অতিরিক্ত পদক্ষেপ করা দরকার। আমি তার উত্তরে এটি একটি মন্তব্য করব তবে আমার সুনাম নেই।

ফাইল আপডেট-মনিটর-পজিশন-অফিসে:

  1. আমার বাশের সংস্করণ (৪.৩.৪8) ২৮ নং লাইনে "i ++" অনুসরণ করে কোনও জায়গার অভাব সম্পর্কে অভিযোগ করেছে।
  2. আমার xrandr এর সংস্করণ (1.5) লাইন 40-তে "--fbmm" বিকল্পটি স্বীকৃতি দেয়নি this এটি নির্ণয় করা শক্ত ছিল কারণ xrandr আসলে আমাকে ত্রুটি দেয় নি, এটি কিছু না করে কেবল কমান্ডটি কার্যকর করেছে।

1

আমি এই স্ক্রিপ্টটি টার্মিনাল থেকে চালানো পছন্দ করি যেহেতু আমি লগইন করার পরে প্রথমটি খুলি।

খারাপ কনফিগারেশনের মাধ্যমে প্রথম লগইন করুন - মনিটরগুলি সঠিকভাবে স্থাপন করা হয় না:

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

0

না, হট-প্লাগ করা মনিটরে কনফিগারেশনগুলি সংরক্ষণ করার কোনও উপায় নেই। যদি আপনি বুটের আগে প্লাগ ইন করেন তবে প্রতি ডিভাইস ভিত্তিতে প্রতিটি বুটের কনফিগারেশনটি জিনোমের মনে রাখা উচিত (যেমন, বাড়িতে আপনার কাজের তুলনায় আপনার মনিটরের সাথে সংযুক্ত হওয়া)।


জঘন্য, ঠিক আছে। এটি করতে পারার চেয়ে কোনও তৃতীয় পক্ষের আবেদন রয়েছে কি? আমি জানি ম্যাক ওএস এক্স এটি করে, এবং উইন্ডোজ W (ডাব্লু I এর সাথে আমি যে সামান্য অভিজ্ঞতা দিয়েছি তা থেকে)।
অস্কার গডসন

জিনোম মনিটর কনফিগারেশনের হটপ্লাগড মনিটরের জন্যও এই তথ্য সংরক্ষণ করা উচিত। এটা আমার জন্য।
রাফ

রফ: অদ্ভুত, যেহেতু এই সপ্তাহের শুরুতে উবুন্টু-ডেভেল মেলিং তালিকার আলোচনায় বলা হয়েছিল যে এটি হয় না।
ম্যাকো

কনফিগারেশনটি আসলে সংরক্ষণ করা হয়েছে ~/.config/monitors.xml, তবে এটি প্রারম্ভকালে প্রয়োগ করা হয় না
আলেসান্দ্রো কাটিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.