একটি সাধারণ লিনাক্স কমান্ড আছে যা আমাকে জানাবে যে আমার ডিসপ্লে ম্যানেজারটি কী?
আমি এক্সএফসি ব্যবহার করছি। বিভিন্ন ডেস্কটপ এনভায়রনমেন্টগুলি সাধারণত বিভিন্ন ডিসপ্লে ম্যানেজারের সাথে যুক্ত হয়?
একটি সাধারণ লিনাক্স কমান্ড আছে যা আমাকে জানাবে যে আমার ডিসপ্লে ম্যানেজারটি কী?
আমি এক্সএফসি ব্যবহার করছি। বিভিন্ন ডেস্কটপ এনভায়রনমেন্টগুলি সাধারণত বিভিন্ন ডিসপ্লে ম্যানেজারের সাথে যুক্ত হয়?
উত্তর:
দুর্ভাগ্যক্রমে প্রতিটি বিতরণের জন্য কনফিগারেশন পৃথক:
Debian / Ubuntu-
/etc/X11/default-display-manager
রেডহ্যাট (ফেডোরার ক্ষেত্রেও প্রয়োগ করা উচিত)
/etc/sysconfig/desktop
openSUSE
/etc/sysconfig/displaymanager
cat
।
/usr/bin/xdm
- এর অর্থ কী এক্সডিএম আমার প্রদর্শন পরিচালক?
নেই। ডিসপ্লে ম্যানেজার অগত্যা একই এক্স সার্ভারে চলছে এমন অন্য কোনও কিছুর সাথে সম্পর্কিত নয়। লগ ইন করার আগে ডিসপ্লে ম্যানেজারটি চলে; এটি সিস্টেম প্রশাসক দ্বারা চয়ন করা হয়েছে। অন্য সমস্ত কিছু (উইন্ডো ম্যানেজার, সেশন ম্যানেজার, ডেস্কটপ পরিবেশ,…) ব্যবহারকারী চয়ন করেছেন। এমনকি ডিসপ্লে ম্যানেজার হতে হবে না: আপনি যদি টেক্সট মোডে লগ ইন করেন এবং জিইউআই দিয়ে শুরু করেন startx
, কোনও ডিসপ্লে ম্যানেজার জড়িত না।
আপনার সিস্টেমে কোন ডিসপ্লে ম্যানেজারটি ডিফল্ট, আপনি তা পরীক্ষা করতে পারেন । এটি কেবলমাত্র কিছু সাধারণ তবে সর্বজনীন অনুমানের অধীনে সঠিক উত্তর দেবে। যদি আপনি যেকোন কারণে ম্যানুয়ালি অন্য কোনও পরিচালককে চালনা করেন তবে এই পদ্ধতিটি আপনাকে বলবে না।
এক্স সার্ভারের প্রসেস আইডিটি খুঁজে বের করা ভাল বাজি: এর প্যারেন্ট প্রসেসটি সম্ভবত কোনও ডিসপ্লে ম্যানেজার থাকে যদি থাকে one এটির জন্য আপনার ক্লায়েন্টগুলি এক্স সার্ভারের মতো একই মেশিনে চলছে requires lsof /tmp/.X11-unix/X${DISPLAY#:}
এক্স সার্ভার প্রক্রিয়াটি দেখায় (এক্স সকেটগুলিকে লাইভ ধরে রেখে /tmp/.X11-unix
)।
x=$(lsof -F '' /tmp/.X11-unix/X0); x=${x#p}
ps -p $(ps -o ppid -p $x)
(ব্যাখ্যা: lsof -F ''
মত আউটপুট ছাপে p1234
। -F
বিকল্প একটি মেশিন-parseable আউটপুট ফরম্যাট মানে, এবং ''
এর মানে হল শুধুমাত্র অক্ষর দিয়ে PID, প্রিন্ট করতে, p
এটা আগে। x=${x#p}
বন্ধ রেখাচিত্রমালা প্রাথমিক চিঠি p
শেষ লাইনটি X সার্ভারের পিতা বা মাতা এর PID, সংগ্রহ করে। ( ps -o ppid -p $x
), এবং ps
সেই পিতামাতার প্রক্রিয়া সম্পর্কিত তথ্য দেখানোর জন্য কলগুলি )
কিছু বিতরণ একাধিক ডিসপ্লে ম্যানেজার ইনস্টল করার অনুমতি দেয়। আপনার কাছে মাল্টিসিট সিস্টেম না থাকলে কেবল একক চলমান থাকবে। ডেবিয়ান এবং ডেরিভেটিভগুলির অধীনে সমস্ত ইনস্টলড ডিসপ্লে ম্যানেজার প্যাকেজ তালিকাভুক্ত করতে:
aptitude -F %p search '~i ~P^x-display-manager$'
অথবা
</var/lib/dpkg/status awk '
/^Package: / {package = $2}
/^Provides: .*x-display-manager/ {print package}'
আপনি ব্যবহার করে থাকেন systemd হল ভিত্তিক বন্টন। এই কমান্ডটি বর্তমানে কনফিগার করা ডিসপ্লে ম্যানেজারটির নাম দেবে কারণ আপনার একাধিক ডিসপ্লে ম্যানেজার ইনস্টল থাকতে পারে।
grep '/usr/s\?bin' /etc/systemd/system/display-manager.service
OUTPUT এর মতো কিছু হবে
ExecStart=/usr/bin/mdm
দেখে মনে হচ্ছে আমি পুদিনা ডিসপ্লে ম্যানেজার ব্যবহার করছি।
grep '/usr/bin' /etc/systemd/system/display-manager.service
। (এবং, কঠোরভাবে বলতে গেলে, যেহেতু /usr/bin
শেলের জন্য বিশেষ কোনও অক্ষর নেই, তাই আপনাকে এটাকে উদ্ধৃত করার দরকার নেই - তবে এতে কোনও ক্ষতি হয় না))
cat <file> | grep <searchterm>
দ্বিতীয় স্ট্রিংয়ের পরিবর্তে শেষ স্ট্রিংটি সম্পাদনা grep <searchterm> <file>
করি।
ডিসপ্লে ম্যানেজারের নামটি DESKTOP_SESSION এ হওয়া উচিত
echo $DESKTOP_SESSION
আমার জন্য "জিনোম" ফিরিয়ে দেয়।
সম্পাদনা
তুমি ঠিক বলেছ। তারা XFCEs বাগজিলায় এটি পিছনে পিছনে যাচ্ছেন যাতে এটি সম্ভবত খুব নির্ভরযোগ্য নয়।
$DESKTOP_SESSION
তা unknown
।
@ গিলিস বলেছিলেন, ডিসপ্লে ম্যানেজার আপনার ডেস্কটপ পরিবেশ শুরু করবে।
দেবিয়ান উইকির মতে , বেশিরভাগ ক্ষেত্রেই এগুলি শেষ হয় dm
কেবল ব্যতিক্রম slim
।
সুতরাং এটি বেশিরভাগ মানুষের প্রয়োজনের জন্য পর্যাপ্ত হওয়া উচিত:
ps auxf | awk '{print $11}' | \grep --color -e dm$ -e slim$
বা নিশ্চিত হওয়া যায় যে এটি একটি পিতামাতার প্রক্রিয়া হিসাবে উপস্থিত রয়েছে এবং এটি কাঁটাচামচ করা হয় না (init সিস্টেম ব্যতীত):
ps auxf | awk '{print $11}' | \grep -e "^/.*dm$" -e "/.*slim$"
lightdm
। উপরের উত্তর থেকে রেডহ্যাট / ফেডোরা সমাধানটি কার্যকর হয়নি, কনফিগারেশনটি সরানো হয়েছে বলে মনে হচ্ছে।
কিছু ক্ষেত্রে, wmctrl সাহায্য করতে পারে। এই ইউটিলিটি অনেকগুলি উইন্ডোজ ম্যানেজারের সাথে সামঞ্জস্যপূর্ণ।
wmcrt -m
বর্তমানে ব্যবহৃত উইন্ডো ম্যানেজারের নাম প্রদর্শন করা উচিত।
ইতিমধ্যে উল্লিখিত হিসাবে, এই থ্রেডে অনেক বিভ্রান্তি রয়েছে। মূল প্রশ্নটি হ'ল ডিসপ্লে ম্যানেজার, ডেস্কটপ ম্যানেজার বা উইন্ডো ম্যানেজার নয়। আমি বর্তমানে Xfwm4 চালাচ্ছি যা Xfce উইন্ডো ম্যানেজার, এবং lxdm যা লাইটওয়েট এক্স 11 ডিসপ্লে ম্যানেজার (LXDE থেকে, Xfce নয়)। আপনি হটপের মাধ্যমে কী ডিসপ্লে ম্যানেজারটি ব্যবহার করছেন তা দেখতে সক্ষম হওয়া উচিত। আপনি সম্ভবত দীর্ঘ 4 বছর ধরে উত্তরটি আবিষ্কার করেছেন :)
আপনি স্ক্রিনফ্যাচ নামে একটি তৃতীয় পক্ষের স্ক্রিপ্টের মাধ্যমে এটি করতে পারেন
স্ক্রিনফ্যাচ লিনাক্সের জন্য উপলব্ধ একটি বাশ স্ক্রিপ্ট যা সিস্টেমের লিনাক্স ডিস্ট্রিবিউশন লোগোর ASCII সংস্করণের পাশাপাশি সিস্টেমের তথ্য প্রদর্শন করে
প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করুন
sudo apt-get install screenfetch
(ধরে নিবেন আপনি দেবিয়ান রূপগুলিতে আছেন)
এবং কেবল
screenfetch
আপনার টার্মিনালে চালান
প্রকল্পের লিঙ্ক https://github.com/KittyKatt/screenFetch
এক্স অত্যন্ত মডারুলার তাই আপনি যদি সত্যিই এটি চেয়েছিলেন, হ্যাঁ, আপনি ডেস্কটপ পরিবেশ এবং উইন্ডোজ পরিচালকদের মিশ্রিত করতে পারেন। উইন্ডো ম্যানেজার হ'ল উইন্ডো আঁকার কেবল একটি উপায় (এটি সাধারণ দৃশ্য)।
সুতরাং আপনি যদি জিনোম নেন তবে উইন্ডো ম্যানেজার হিসাবে মেটাটিসিটি ব্যবহৃত হত তবে এখন এটি মটার দ্বারা প্রতিস্থাপন করা হয়েছে।
মিশ্রণের বিষয়টি আধুনিক ডেস্কটপ পরিবেশে, ডেস্কটপ এবং উইন্ডো ম্যানেজার একে অপরের সাথে অত্যন্ত আবদ্ধ। খুব বেশি মিশ্রণ কম কার্যকারিতাতে শেষ হতে পারে।
উল্লিখিত হিসাবে $ DESKTOP_SESSION কাজ করে তবে আপনি যদি আপনার এক্স 11 সার্ভারটি জানতে চান তবে আপনি এটি করতে পারেন:
xprop -id $(xprop -root _NET_SUPPORTING_WM_CHECK | cut -d\# -f2) WM_NAME
যা পচে যায়
xprop -root _NET_SUPPORTING_WM_CHECK | cut -d\# -f2
0x1000052
xprop -id 0x1000052 WM_NAME
WM_NAME(STRING) = "xfwm4"
যা উইন্ডো ম্যানেজার দ্বারা তৈরি উইন্ডোর আইডি পায়। চশমাগুলি বলছে (http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html):
_NET_SUPPORTING_WM_CHECK, WINDOW/32
The Window Manager MUST set this property on the root window to be the ID
of a child window created by himself, to indicate that a compliant window
manager is active.
এবং তারপরে আপনি উল্লিখিত উইন্ডোটির WM_NAME সম্পত্তিটির জন্য জিজ্ঞাসা করবেন।
WM_NAME হচ্ছে:
The WM_NAME property is an uninterpreted string that the client wants the
window manager to display in association with the window (for example, in
a window headline bar).
_NET_SUPPORTING_WM_CHECK
উইন্ডো ম্যানেজার সম্পর্কে তথ্য দেয়, ডিসপ্লে ম্যানেজার সম্পর্কে নয়। এটি সবসময় কাজ করে না; আমার সিস্টেমে, সেই সম্পত্তিটি একটি উইন্ডো আইডিতে সেট করা আছে তবে প্রশ্নে উইন্ডোর কোনও নাম নেই।