উবুন্টুতে প্রারম্ভকালে কীভাবে xrandr কমান্ডগুলি চালানো যায়


13

আমি কীভাবে নিম্নলিখিত xrandrকমান্ডটি প্রারম্ভকালে চালাতে পারি ?

xrandr

cvt 1368 768 
xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60.00
xrandr --output VGA1 --mode 1368x768_60.00 

1
হাই উধায় কুমার আপনি কি উত্তর পেয়েছেন? আপনি যদি পরিচালনা করেন তবে দয়া করে আমাকে জানান।
জ্যাকব ভিলিজম

উত্তর:


22

স্টার্টআপ অ্যাপ্লিকেশনগুলিতে জটিল কমান্ড যুক্ত করা হচ্ছে

সাধারণভাবে, আপনি স্টার্ট আপ (লগ ইন) এ চালানোর জন্য কমান্ড যুক্ত করতে পারেন: ড্যাশ> স্টার্টআপ অ্যাপ্লিকেশন> যুক্ত করুন। এই ক্ষেত্রে, আপনার চালানোর জন্য একটি জটিল কমান্ড রয়েছে।

এটি করার জন্য দুটি বিকল্প রয়েছে:

  1. একটি পৃথক স্ক্রিপ্ট লিখুন:

    #!/bin/bash
    
    cvt 1368 768 
    # xrandr only works in X11 sessions, not Wayland
    [ "$XDG_SESSION_TYPE" = x11 ] || exit 0
    xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync
    xrandr --addmode VGA1 1368x768_60.00
    xrandr --output VGA1 --mode 1368x768_60.00

    স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন, এটি হিসাবে সংরক্ষণ set_monitor.sh করুন এবং উপরে বর্ণিত হিসাবে অ্যাপ্লিকেশন শুরু করতে নিম্নলিখিত কমান্ডটি যুক্ত করুন।

    /bin/bash /path/to/set_monitor.sh
    
  2. একটি (খুব দীর্ঘ) কমান্ডগুলিতে শৃঙ্খলাবদ্ধ:

     /bin/bash -c "cvt 1368 768&&xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync&&xrandr --addmode VGA1 1368x768_60.00&&xrandr --output VGA1 --mode 1368x768_60.00"
    

    এই ক্ষেত্রে, &&কমান্ডগুলির মধ্যে ব্যবহার করে প্রতিটি কমান্ড শীঘ্রই চালানো হবে (এবং যদি) পূর্ববর্তীটি পৃথক লাইনে যেমন রয়েছে তেমনি সফলভাবে চালিত হয় on

    তারপরে উপরে বর্ণিত হিসাবে স্টার্টআপ অ্যাপ্লিকেশনগুলিতে কমান্ড যুক্ত করুন।

গুরুত্বপূর্ণ দ্রষ্টব্য: প্রারম্ভিক অ্যাপ্লিকেশনগুলিতে xrandr কমান্ড যুক্ত করা

xrandrশুরুতে কমান্ড যুক্ত করা জটিল হতে পারে; ডেস্কটপ পুরোপুরি লোড হওয়ার আগে কখনও কখনও তারা খুব তাড়াতাড়ি চালানো হলে তারা বিরতি দেয়। সুতরাং আপনার সম্ভবত (সম্ভবত) স্ক্রিপ্ট বা কমান্ডটি চালানোর জন্য (শেষ ক্ষেত্রে যেমন) কমান্ডটিতে কিছুটা বিরতি যুক্ত করতে হবে:

/bin/bash -c "sleep 15&&cvt 1368 768&&xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync&&xrandr --addmode VGA1 1368x768_60.00&&xrandr --output VGA1 --mode 1368x768_60.00"

sleep 15অনুকূল সময়টি খুঁজে পেতে আপনার সাথে সামান্য খেলতে হবে ।

বিঃদ্রঃ

আমি প্রথম লাইনটি ছেড়ে দিয়েছি:

xrandr

যেহেতু এটি আপনার স্ক্রিন সেটআপে কিছু নয় তবে কিছু তথ্য প্রদর্শন করে :)


6
আপনি cvtযদি ইতিমধ্যে আপনার মডেলাইনটি জানেন তবে আপনাকে কমান্ডটি অন্তর্ভুক্ত করার দরকার নেই ।
থেঠাকুরি

1
/bin/bash -c "..."মোড়ানো আমার জন্য :) কৌতুক করেনি
Superole

কুবুন্টু ১..১০-তে, sleep"সেশন শুরু করার আগে" অপশনটি নির্বাচন করে 'স্টার্টআপ অ্যাপ্লিকেশনগুলিতে' অংশ ছাড়াই কমান্ডটি যুক্ত করেছিলাম ।
প্যাট-এস

1
3 বছর আগে লেখার জন্য +1 # xrandr only works in X11 sessions, not Wayland। ভবিষ্যতে ভাল ভবিষ্যত প্রমাণ।
WinEunuuchs2Unix

এই সমাধানটি শেষ পর্যন্ত আমার ডিবিয়ান 10 এ দুটি মনিটরের সাথে কাজ করেছিল: অ্যাপল থান্ডারবোল্ট 27 + এলজি 27 এমপি 59 জি। স্থানীয়ভাবে, এলজি কেবল 1920x1080 সমর্থন করে। এর সাথে xrandrআমি 2560x1440 এর টুন্ডারবোল্টের একই রেজোলিউশনে সেট আপ করেছি /bin/bash -c "sleep 3&&xrandr --output DP-2 --auto --scale-from 2560x1440"
f0nzie

7

মতে এই সময়ে এখন এটা লগইনে স্বয়ংক্রিয় অধ্যায়, আমি আমার নিজের স্ক্রিপ্ট করেছেন 45custom_xrandr-settingsএবং এটি মধ্যে স্থাপন করা /etc/X11/Xsession.d/। এটি উবুন্টু 14.04 এলটিএসের অধীনে আমার পক্ষে কাজ করে। caseএই বিভাগে বর্ণিত কমান্ডের পরে আপনি নীচের কোডটি রাখতে পারেন ।

PRI_OUTPUT="DVI-0";
# Make and force resolution
myNewMode=$(cvt 1366 768 60 | grep -oP 'Modeline\K.*') &&                           #grep evrything after 'Modline'
myNewModeName=\"$(echo $myNewMode | grep -oP '"\K[^"\047]+(?=["\047])' )\" &&       #grep everything inside quotes
xrandr --newmode $myNewMode;
sleep 15;       
xrandr --addmode $PRI_OUTPUT $myNewModeName;

আমি বিশ্বাস করি যে উপরেরটি আপনি যা সন্ধান করছেন। xrandrকমান্ডটি চালিয়ে আপনি উপলভ্য ফলাফলগুলি দেখতে পাচ্ছেন । আউটপুট হতে পারে VGA, VGA-0, DVI-0, TMDS-1বা DisplayPort-0

এখানে আমি তৈরি সম্পূর্ণ স্ক্রিপ্ট।

# To configure xrandr automatically during the first login, 
# save this script to your computer as /etc/X11/Xsession.d/45custom_xrandr-settings: 

# If an external monitor is connected, place it with xrandr
# External output may be "VGA" or "VGA-0" or "DVI-0" or "TMDS-1"

# More info at http://www.thinkwiki.org/wiki/Xorg_RandR_1.2


PRI_OUTPUT="DVI-0";
SEC_OUTPUT="DisplayPort-0";
SEC_LOCATION="left";    # SEC_LOCATION may be one of: left, right, above, or below

case "$SEC_LOCATION" in
       left|LEFT)
               SEC_LOCATION="--left-of $PRI_OUTPUT"
               ;;
       right|RIGHT)
               SEC_LOCATION="--right-of $PRI_OUTPUT"
               ;;
       top|TOP|above|ABOVE)
               SEC_LOCATION="--above $PRI_OUTPUT"
               ;;
       bottom|BOTTOM|below|BELOW)
               SEC_LOCATION="--below $PRI_OUTPUT"
               ;;
       *)
               SEC_LOCATION="--left-of $PRI_OUTPUT"
               ;;
esac

# Make and force resolution
myNewMode=$(cvt 1366 768 60 | grep -oP 'Modeline\K.*') &&                           #grep evrything after 'Modline'
myNewModeName=\"$(echo $myNewMode | grep -oP '"\K[^"\047]+(?=["\047])' )\" &&       #grep everything inside quotes
xrandr --newmode $myNewMode;
sleep 15;       
xrandr --addmode $PRI_OUTPUT $myNewModeName;


# Activate secondary out (display port)
xrandr | grep $SEC_OUTPUT | grep " connected "
if [ $? -eq 0 ]; then
#   xrandr --output $SEC_OUTPUT --auto $SEC_LOCATION
    xrandr --output $PRI_OUTPUT --mode $myNewModeName --output $SEC_OUTPUT --auto $SEC_LOCATION
else
    xrandr --output $PRI_OUTPUT --mode $myNewModeName --output $SEC_OUTPUT --off
fi

2

ফাইলটি তৈরি করুন ~/.xprofileএবং এতে আপনার লাইন রাখুন। এটি এক্স ব্যবহারকারী সেশনের শুরুতে চালানো হয়।


3
এই কাজ না। কমান্ড খুব তাড়াতাড়ি আগুন আপ।
নেকটুই

@ নেকটিউ ধন্যবাদ, আমি দেখতে পেয়েছি এটি xrandr --output ...কাজ করে না তবে আগের দুটি লাইন কাজ করে। এই সব আমার জন্য কাজ করে।
গোলপট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.