सभी उपयोगकर्ता खातों में प्रदर्शन सेटिंग्स लागू करें?


14

मैंने अपनी सेटिंग को कई मॉनिटरों के लिए सही करने में कुछ समय बिताया, और जब मैं लॉग इन कर रहा हूं तो यह ठीक काम कर रहा है, लेकिन लॉगिन स्क्रीन पर या अन्य उपयोगकर्ताओं के लिए सही नहीं है।

मैं सभी उपयोगकर्ताओं और लॉगिन स्क्रीन के लिए विश्व स्तर पर प्रदर्शन सेटिंग्स कैसे सेट करूं?


आपने इसे कैसे सेट किया? जीयूआई या कमांड लाइन से, और आपकी सेटिंग क्या हैं?
जैकब वलीजम

"स्क्रीन डिस्प्ले" जीयूआई के साथ मुझे लगता है, सेटिंग्स वैसे भी वहां दिखाई दे रही हैं। दो मॉनिटर, एक घुमाया गया।
मिरमेश

askubuntu.com/questions/360886/… लॉगिन को एक उपयोगकर्ता के समान सेट करता है, जो सहायक है। askubuntu.com/questions/372729/… पुरानी xorg सेटिंग्स को संबोधित करने लगता है जो अब 14 में उपयोग नहीं की जाती हैं (मुझे लगता है?)। 14.04 पर ऐसा करने के लिए कोई प्रश्न या उत्तर नहीं मिल सकता है ...
मिरम्स

मैंने उस उत्तर की कोशिश की, स्क्रीन को सही तरीके से लॉगिन के लिए घुमाया गया, और फिर बाद में उपयोगकर्ताओं के लिए नहीं घुमाया गया (यहां तक ​​कि उनके स्थानीय मॉनिटर को हटाने के बाद।
xml

मैं इस इनाम से थोड़ा हैरान हूं, यदि आप अपने मॉनिटर सेट करते हैं, sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/जैसा कि पहले सुझाव दिया गया था, + नीचे दिए गए समाधान, आपके सभी उपयोगकर्ताओं (नए उपयोगकर्ताओं सहित) के लिए आपका सेटअप ठीक उसी प्रकार है जैसा आप वर्णन करते हैं।
जेकब वलीजम

जवाबों:


14

आपके द्वारा अपने सिस्टम को सेट करने के तरीके के आधार पर, यह सभी उपयोगकर्ताओं के लिए सही तरीके से सेट-अप उपयोगकर्ता सेmonitors.xml फ़ाइल की नकल करना जितना आसान हो सकता है :

एक उपयोगकर्ता के लिए यह परीक्षण करने के लिए:

cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /home/TestUser/.config/

उसके बाद TestUser को लॉग इन करें यदि पहले से लॉग इन है , तो लॉग ऑन करें और देखें कि क्या सब कुछ सही है।

सभी उपयोगकर्ताओं के लिए कमांड:

cp /home/CorrectUser/.config/monitors.xml /tmp/
for szUser in /home/* ; do sudo cp --preserve=timestamps /tmp/monitors.xml $szUser/.config/ ; done

लॉगिन स्क्रीन के लिए कमांड:

sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /var/lib/lightdm/.config/

सभी भावी उपयोगकर्ताओं के लिए कमांड users :

sudo mdkdir -p /etc/skel/.config
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /etc/skel/.config/

नोट: सभी उपयोगकर्ता जो आप भविष्य में बना रहे हैं


1
मैंने पहले ही इसे टिप्पणियों में सुझाया था (और मेरे जवाब में पहले, लेकिन वापस लुढ़का), लेकिन ओपी ने उल्लेख किया कि यह पर्याप्त नहीं था। यह केवल लॉग इन स्क्रीन के लिए काम करता है :) यह नए उपयोगकर्ताओं के लिए भी काम नहीं करता है जब तक कि आप उन उपयोगकर्ताओं को फिर से कॉपी नहीं करते हैं ।
जैकब व्लिजम

@JacobVlijm: फिर से पढ़ें ... मेरा लॉग-इन स्क्रीन और सभी उपयोगकर्ताओं के लिए है ... : पी (इसे ओपी द्वारा इस पर एक टिप्पणी के रूप में वहाँ छोड़ दिया गया है कि यह काम नहीं करता है अन्य पोस्टर सभी को टाइप करने से चेतावनी देगा। तीसरी बार) > :-)
Fabby

1
मैंने सभी उपयोगकर्ताओं के लिए फ़ाइल को कॉपी करने का सुझाव नहीं दिया है, इस वजह से: मैं एक ऐसा समाधान चाहूंगा जो सभी उपयोगकर्ता खातों (और भविष्य के) पर सेटिंग्स लागू करता है, और लॉगिन स्क्रीन को भी सही बनाता है। जोड़ने के लिए /etc/xdg लगता है कि केवल चाल है कि नए उपयोगकर्ताओं के लिए भी करता है।
जैकब वलिज्म

@JacobVlijm: आह, कि एक याद किया! (उस के रूप में अच्छी तरह से जोड़ा गया समाधान; ;-)
Fabby

2
यह अभी तक सबसे अच्छा जवाब है - सभी मॉनिटर को सही तरीके से सेट करता है, और अतिथि उपयोगकर्ता के लिए भी तुरंत काम करता है। एक बोनस के रूप में - प्रदर्शन सेटिंग्स GUI से भी "लॉन्चर प्लेसमेंट" सेटिंग की प्रतिलिपि बनाने का एक तरीका है? मेरे उपयोगकर्ता पर यह सिर्फ एक मॉनिटर पर है, लेकिन नए / अतिथि उपयोगकर्ता दोनों के लिए।
मिरम्स

3

लॉग इन पर प्रत्येक उपयोगकर्ता के लिए अपना स्क्रीन कॉन्फ़िगरेशन सेट करने के लिए (यह लॉग इन स्क्रीन पर कॉन्फ़िगरेशन नहीं बदलेगा), आप एक .desktopफ़ाइल बना सकते हैं/etc/xdg/autostart

उसको कैसे करे

  1. उस स्क्रीन का नाम पता करें जिसे आप चलाकर चालू करना चाहते हैं xrandr। यह कई लाइनों का उत्पादन करेगा, जिसमें कुछ पंक्तियाँ दिख रही हैं:

    VGA-0 connected
    

    यह आपको कनेक्टेड स्क्रीन के नामों की जानकारी देता है।

  2. जिसको आपने घुमाया है, उसे नीचे मेरे उदाहरण में चुनें VGA-0
  3. (जैसे) के साथ एक लांचर बनाएँ gedit:

    sudo -i gedit /etc/xdg/autostart/set_screens.desktop
    

    नीचे दिए गए पाठ को फाइल में पेस्ट करें:

    [Desktop Entry]
    Name=set_screens
    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    Type=Application
    

    लाइन में बदलें:

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    स्ट्रिंग: VGA-0आपके (घुमाए हुए) स्क्रीन के नाम से।

महत्वपूर्ण लेख

  • कतार में

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    मैं एक शामिल sleep 10। ऐसा इसलिए है क्योंकि कभी-कभी, xrandrडेस्कटॉप के "समाप्त" होने से पहले, यदि वे बहुत जल्दी चलते हैं तो कमांड टूट जाती है। संभवतः आपको ब्रेक बढ़ाने की आवश्यकता है, या आप इसे छोड़ने की कोशिश कर सकते हैं। कमांड में, जैसा कि यह है, स्क्रीन किसी भी उपयोगकर्ता के लॉग के 10 सेकंड बाद घूमती है ।

  • आदेश:

    xrandr --output VGA-0 --rotate left
    

    घूमता स्क्रीन छोड़ दिया है, कि यदि आप रोटेशन की एक अन्य प्रकार करना चाहते हैं, या तो आप चुन सकते हैं कहने के लिए कोई ज़रूरत नहीं left, right, normal, inverted(यह भी देखें यहाँ)

व्याख्या

आप .desktopफ़ाइल (लॉन्चर) में रखकर स्टार्टअप (वास्तव में लॉग इन) पर कमांड चला सकते हैं ~/.config/autostart। यह केवल एकल उपयोगकर्ता के लिए लॉन्चर चलाएगा। यदि आप भी ऐसा ही करते हैं, लेकिन लॉन्चर को अंदर रखें /etc/xdg/autostart, जब भी कोई उपयोगकर्ता लॉग इन करता है, तब तक कमांड चलता है, जब तक कि कोई विशिष्ट उपयोगकर्ता डैश या स्टार्टअप एप्लिकेशन में उसके लिए लॉन्चर को निष्क्रिय नहीं करता है

इसके अतिरिक्त , आप बस स्क्रीन में लॉग ऑन पर सेटिंग्स काम ~/.config/monitors.xmlकरने के /var/lib/lightdm/monitors.xmlलिए अपनी स्थानीय फ़ाइल की प्रतिलिपि बना सकते हैं।

इसके संयोजन को इमो करें, और उपरोक्त समाधान (एक लांचर इन /etc/xdg) लॉगिन स्क्रीन और (किसी भी) उपयोगकर्ता दोनों के लिए बिल्कुल वही प्राप्त करना सबसे आसान उपाय है। इसके अलावा, एक लॉन्चर का घोल /etc/xdg(बहुत) आसानी से उलट जाता है या उस स्थिति में बदल जाता है जब आपको उपयोगकर्ता की सेटिंग और लॉगिन स्क्रीन दोनों के प्रबंधन के बाद से, कई फ़ाइलों को (प्रत्येक) उपयोगकर्ता के स्तर पर संपादित किए बिना एक और सेटअप बनाने की आवश्यकता होगी। सभी उपयोगकर्ता एक साथ दो साधारण फाइलों में।


यह काम कर सकता है - लॉगिन के बाद सेटिंग्स 10 एस को बदलना, लेकिन मैं यह जानना पसंद करूंगा कि वे कहां से शुरू करना चाहते हैं और उन्हें सभी के लिए बदल दें (और लॉगिन स्क्रीन, जो वर्तमान में बग़ल में है)।
मिरम्स

कोई इसे क्यों कम करेगा?
फबी

2

बस इसी तरह के मुद्दे से जूझ रहे किसी व्यक्ति के लिए एक टिप्पणी जोड़ना चाहता था। मैं अपने पुराने मॉनिटर (1280x1024) को हर बार लॉग इन करने के संकल्प के साथ अटका हुआ था, लेकिन लॉगिन स्क्रीन और अतिथि उपयोगकर्ता लॉगिन सही डिफ़ॉल्ट 1680x1050 का उपयोग करते हैं।

मैंने पिछले चार महीनों में जवाब की तलाश में बहुत सारी पोस्टें पढ़ी हैं, xorg.conf, मॉनिटर्स.xml, lightdm और xrandr और अन्य सुझावों पर पढ़ रहा हूं - लेकिन कुछ कॉन्फिग बदलाव जटिल हैं और प्रदर्शन को तोड़ने का जोखिम उठाते हैं पूरी तरह से, इसलिए मैंने हर लॉगिन को मैन्युअल रूप से मॉनिटर सेटिंग को बदलने के लिए gui का उपयोग करके समाप्त किया।

आज मैंने अपने .config फ़ोल्डर में पुराने रिज़ॉल्यूशन के लिए एक grep किया।

grep -HrnIF '1280' .config | less

पहला परिणाम था ~ / .config / autostart / xrandr.desktop फ़ाइल जिसमें यह है,

Exec=xrandr -s 1280x1024 -r 75

तो मैं बस वहाँ से फ़ाइल ले जाया गया। और बिंगो, मैं लॉग इन करता हूं और डिफ़ॉल्ट 1680x1050 संकल्प प्राप्त करता हूं।

मुझे खोज करने में कुछ घंटों का समय लगा और मुझे एक पर्याप्त उत्तर नहीं मिला, इसलिए किसी के लिए उपयोगी होने पर यहाँ पोस्ट करना।


उबंटू पूछने के लिए आपका स्वागत है। अनुसंधान के अपने चार महीने (बीता हुआ समय) साझा करने के लिए धन्यवाद।
WinEunuuchs2Unix

इसे फिर से पढ़ते हुए मुझे लगता है कि मैंने संभवतः दो साल पहले उबंटू.डेस्कटॉप फाइल को बनाया था जो उबंटू के चारों ओर पाने के लिए हमेशा 'गोल्डस्टार' की बेसिक मॉनिटर सेटिंग्स को डिफॉल्ट करता था, और वह शायद मेरे वीडियो कार्ड के साथ एक संगतता मुद्दा था।
मटबी

0

आप कुछ करने की इच्छा कर सकते हैं /etc/lightdm/lightdm.conf। यहां हम एक स्क्रिप्ट बनाते हैं जो xrandrआपके डिस्प्ले (एस) को सेटअप करने के लिए एक कमांड का उपयोग करती है । आपके लिए कमांड बनाने के लिए आप कुछ ग्राफिकल RandR टूल का उपयोग कर सकते हैं, जैसे कि arandr। मेरे मामले में, स्क्रिप्ट इस तरह दिखाई देगी:

#!/bin/sh
xrandr --output DVI-I-1 --mode 1600x1200 --pos 0x0 --rotate left --output DVI-I-0 --off --output DP-3 --off --output DP-2 --off --output DP-1 --mode 1600x900 --pos 1200x700 --rotate normal --output DP-0 --off

आप इस स्क्रिप्ट को /usr/shareया जहाँ चाहें वहाँ रख सकते हैं। आपकी स्क्रिप्ट बहुत कम जटिल दिख सकती है, क्योंकि यह एक जटिल दोहरे-मॉनिटर सेटअप के लिए है। फिर कुछ इस तरह से संलग्न करें:

session-setup-script=/usr/share/mycustomxrandr.sh

तथा:

display-setup-script=/usr/share/mycustomxrandr.sh

सुनिश्चित करें कि फ़ाइल निष्पादन योग्य है, इसलिए:

chmod a+x mycustomxrandr.sh

आपके द्वारा LightDM के माध्यम से लॉगिन करनेsession-setup-script के बाद प्रदर्शन सेट हो जाएगा , और display-setup-scriptलॉगिन स्क्रीन के लिए प्रदर्शन बदल जाएगा।


यह बहुत अच्छा होगा यदि आप इसे आज़मा सकते हैं, मुझे यह देखने में दिलचस्पी है कि क्या यह आपके लिए काम करेगा।
12

0

मेरे सिस्टम पर (Ubuntu 16.04) लॉगिन स्क्रीन के लिए बस cp'रूट के रूप में आईएनजी (का उपयोग करके sudo) काम नहीं किया। आपको यह भी सुनिश्चित करने की आवश्यकता हो सकती है कि मॉनिटर / xml का स्वामी / समूह है lightdm:lightdm

sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.