Answers:
ඔබ wmctrl
ස්ථාපනය කර ඇත්නම්, විධානයෙන් ලැබෙන පළමු පේළිය
wmctrl -m
කවුළු කළමනාකරුගේ නම ඔබට පෙන්වනු ඇත. ඔබ wmctrl
ස්ථාපනය කර නොමැති නම් , එය ස්ථාපනය කිරීමට පහත විධානය භාවිතා කරන්න:
sudo apt-get install wmctrl
සටහන, man wmctrl
(එනම්, man
පිටුව සඳහා wmctrl
) කොටසක මෙසේ කියයි:
-m කවුළු කළමනාකරු පිළිබඳ තොරතුරු පෙන්වන්න ...
මගේ උබුන්ටු 11.10 / ලිනක්ස් 3.0.0-14-ජනක # 23-උබුන්ටු x86_64 / මෙටාසිටි 2.34.1 පද්ධතියේ, පළමු නිමැවුම් රේඛාව wmctrl -m
වූයේ: පෙන්වන සහ පෙන්වන Name: Metacity
අතරතුර .echo $DESKTOP_SESSION
ubuntu-2d
echo $XDG_CURRENT_DESKTOP
Unity
නැවුම් උබුන්ටු 15.10 මත ස්ථාපනය Ubuntu desktop
නිමැවුම් පළමු මාර්ගය, පරණ ලැප්ටොප් මත මෘදුකාංග wmctrl -m
විය: Name: Compiz
අතරතුර DESKTOP_SESSION
සහ XDG_CURRENT_DESKTOP
වටිනාකම් විය ubuntu
හාUnity
ssh -Y {host} 'wmctrl -m'
මඟින් සමහර අගයන් ලබා දෙයි (උදා: "නම: කොම්පිස්" සහ එන් / ඒ කිහිපයක්), නමුත් ssh
කවුළු කළමනාකරු පිළිබඳ සීමිත තොරතුරු තිබීම අර්ථවත් කරයි .
wmctrl -d
(කවුළු කළමණාකරු විසින් කළමනාකරණය කරනු ලබන සියලුම ඩෙස්ක්ටොප් ලැයිස්තුගත කරන්න) හෝ wmctrl -l
( කවුළු කළමණාකරු විසින් කළමනාකරණය කරනු ලබන කවුළු ලැයිස්තුගත කරන්න) Xubuntu Wily සමඟ වින්ඩෝ මේකර් සමඟ වැඩ කරන්නේද?
Linux පද්ධති මත මම පරිසරය විචල්ය පරීක්ෂා XDG_CURRENT_DESKTOP
හා GDMSESSION
පහත සඳහන් ප්රතිඵල විය.
ප්රතිදානය ලබා ගැනීමට ඔබට මෙම රේඛාව භාවිතා කළ හැකිය:
printf 'Desktop: %s\nSession: %s\n' "$XDG_CURRENT_DESKTOP" "$GDMSESSION"
XDG_CURRENT_DESKTOP=ubuntu:GNOME
GDMSESSION=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
GDMSESSION=ubuntu-wayland
XDG_CURRENT_DESKTOP=Unity
GDMSESSION=ubuntu
XDG_CURRENT_DESKTOP=Unity
GDMSESSION=ubuntu
සටහන MIR_SERVER_NAME ද සකසා ඇත
MIR_SERVER_NAME=session-$NUMBER
XDG_CURRENT_DESKTOP=Unity
GDMSESSION=ubuntu
XDG_CURRENT_DESKTOP=XFCE
GDMSESSION=xfce
XDG_CURRENT_DESKTOP=
GDMSESSION=kde-plasma
XDG_CURRENT_DESKTOP=Unity
GDMSESSION=ubuntu
XDG_CURRENT_DESKTOP=Unity
GDMSESSION=ubuntu-2d
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=gnome-shell
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=gnome-classic
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=gnome-fallback
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=cinnamon
XDG_CURRENT_DESKTOP=KDE
GDMSESSION=default
XDG_CURRENT_DESKTOP=X-Cinnamon
GDMSESSION=default
XDG_CURRENT_DESKTOP=LXDE
GDMSESSION=Lubuntu
XDG_CURRENT_DESKTOP=X-Cinnamon
GDMSESSION=cinnamon
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=gnome
XDG_CURRENT_DESKTOP=MATE
GDMSESSION=mate
XDG_CURRENT_DESKTOP=XFCE
GDMSESSION=xubuntu
env
සියලුම පරිසර විචල්යයන් බැලීමට පර්යන්තයේ . ඒවායින් සමහරක්:
XDG_CURRENT_DESKTOP - ඔබ භාවිතා කරන්නේ කුමන ඩෙස්ක්ටොප් පරිසරයදැයි ඔබට කියයි
GDMSESSION - ඔබ පිවිසීමට lightdm ග්රීටර් වෙතින් තෝරාගත් විකල්පය කුමක්දැයි ඔබට කියයි.
ඒවා භාවිතා කිරීම සඳහා, පර්යන්තය වෙත ගොස් ටයිප් කරන්න:
echo $XDG_CURRENT_DESKTOP
(ඔබ යුනිටි භාවිතා කරන්නේ නම් උදාහරණයක් ලෙස 'එක්සත්කම' ප්රතිදානය කරයි)
හෝ
echo $GDMSESSION
(නිදසුනක් ලෙස ඔබ පිවිසුමේ උබුන්ටු තෝරා ගත්තේ නම් 'උබුන්ටු' හෝ ඔබ පිවිසුමේදී එය තෝරා ගත්තේ නම් 'උබුන්ටු -2 ඩී'.
DESKTOP_SESSION සහ COMPIZ_CONFIG_PROFILEenv
වැනි ප්රතිදානය දෙස සමීපව බැලුවහොත් ඔබට වෙනත් අය සිටී.
ඔබ සොයන දේ කවුළු කළමණාකරු භාවිතයේ ඇති දේ වන බැවින්, මෙය ලබා ගන්නේ කෙසේදැයි මා දකින එකම ක්රමය ක්රියාවලි ලැයිස්තුවෙන් බැලීම පමණි. මෙය සිදු කිරීම සඳහා pgrep
( විකිපීඩියා ) විධානයක් ඇත. -L පරාමිතිය ක්රියාවලි හැඳුනුම්පත එක් කරන බැවින් නම ලබා ගැනීම සඳහා මම පහත සඳහන් දේ කළෙමි:
pgrep -l compiz |cut -d " " -f2
එකම පරිශීලකයා විසින් ක්රියාවලිය ක්රියාත්මක වන බැවින් sudo කොටස උපසර්ග කිරීමට අවශ්ය නොවේ. කවුළු කළමණාකරු මත පදනම්ව ක්රියාවක් කරන ස්ක්රිප්ටයක් නිර්මාණය කිරීමට ඔබට මෙය භාවිතා කළ හැකිය.
වෙනත් වර්ග සඳහා පෙනුම කිරීමට, යන වචනය වෙනස් compiz
තවත් වැනි කිරීමට mutter
, kwin
ආදිය ..
$XDG_CURRENT_DESKTOP
වත්මන් ඩෙස්ක්ටොප් පරිසරය, කවුළු කළමනාකරු නොවේ.
මට pstree
ලොකු උදව්වක් ලැබුණා.
sudo apt-get install pstree
මේක තමයි මට ලැබුණේ.
├─lightdm─┬─Xorg───2*[{Xorg}]
│ ├─lightdm─┬─gnome-session─┬─bluetooth-apple───2*[{bluetooth-apple}]
│ │ │ ├─compiz─┬─sh───gtk-window-deco───2*[{gtk-window-deco}]
│ │ │ │ └─5*[{compiz}]
│ │ │ ├─deja-dup-monito───2*[{deja-dup-monito}]
│ │ │ ├─gnome-fallback-───2*[{gnome-fallback-}]
│ │ │ ├─gnome-screensav───2*[{gnome-screensav}]
│ │ │ ├─gnome-settings-───2*[{gnome-settings-}]
│ │ │ ├─nautilus───2*[{nautilus}]
│ │ │ ├─nm-applet───2*[{nm-applet}]
│ │ │ ├─polkit-gnome-au───2*[{polkit-gnome-au}]
│ │ │ ├─ssh-agent
│ │ │ ├─telepathy-indic───2*[{telepathy-indic}]
│ │ │ ├─update-notifier───2*[{update-notifier}]
│ │ │ ├─vino-server───2*[{vino-server}]
│ │ │ ├─zeitgeist-datah───{zeitgeist-datah}
│ │ │ └─3*[{gnome-session}]
│ │ └─{lightdm}
│ └─2*[{lightdm}]
xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t
)
අවසානයේ නැති වී ඇත.
xprop -root -notype
මූල කවුළුවේ සියලුම ගුණාංග පෙන්වයි (සහ පහසුවෙන් විග්රහ කිරීම සඳහා වර්ග අතහැර දමයි), ප්රතිදානය awk
පයිප්ප හරහා යවනු ලැබේ ; 2. awk
උපදෙස් $1=="_NET[blah]CK:"{print $5}'
මඟින් නළය හරහා ලබාගත් එක් එක් පේළියේ පළමු තීරුව යම් නූලක් සමඟ සංසන්දනය කරන අතර එය ගැලපීම සොයාගත හොත් එය මෙම පේළියේ සිට පස්වන තීරුව මුද්රණය කරන වරහන් තුළ කේතය ධාවනය කරයි - එසේ සිදු වේ (සම්පූර්ණයෙන්ම අහම්බෙන්, මම ඔට්ටු අල්ලමි) "_NET_SUPPORTING_WM_CHECK" පරමාණුවේ හැඳුනුම්පත වීමට; 3. වින්ඩෝස් කළමණාකරුගේ දේපල ලබා ගැනීම සඳහා මෙම හැඳුනුම්පත නැවත භාවිතා කරයිxprop -id
#! /bin/bash
# (GPL3+) Alberto Salvia Novella (es20490446e.wordpress.com)
windowManagerName () {
window=$(xprop -root -notype)
identifier=$(echo "${window}" | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}')
attributes=$(xprop -id "${identifier}" -notype -f _NET_WM_NAME 8t)
echo "${attributes}" |
grep "_NET_WM_NAME = " |
cut --delimiter=' ' --fields=3 |
cut --delimiter='"' --fields=2
}
windowManagerName
හෝ එක් පේළියකින්:
id = $ (xprop -root -notype | awk '$ 1 == "_ NET_SUPPORTING_WM_CHECK:" {print $ 5}'); xprop -id "$ {id}" -notype -f _NET_WM_NAME 8t | grep "_NET_WM_NAME =" | cut --delimiter = '' --fields = 3 | cut --delimiter = '"' --fields = 2
මම කේඩීඊ සමඟ ද පරීක්ෂා කර ඇති අතර මගේ නිගමනය මෙයයි:
අ) හාඩ්ඉන්ෆෝ සමඟ චිත්රක ක්රමය: පිළිතුර සාමාන්යයෙන් “මෙහෙයුම් පද්ධතිය”> “ඩෙස්ක්ටොප් පරිසරය” තුළ ඇත, නමුත් එසේ නොවේ නම් ඔබට “පරිසර විචල්යයන්” දෙස බැලිය හැකිය. කේඩීඊ සමඟ ඇති ඒවා හැර අනෙක් සියලුම පරීක්ෂා කරන ලද ඩිස්ට්රෝස් සමඟ හාඩ්ඉන්ෆෝ සූදානම්, නමුත් එය පහසුවෙන් සහ ඉක්මනින් ස්ථාපනය කළ හැකිය (ලිනක්ස් මින්ට් 13 හි ඇති පැකේජ 2 ක් පමණි).
b) මෙම විධානය සමඟ විධාන රේඛාව : ps -A | egrep -i "gnome|kde|mate|cinnamon|lx|xfce|jwm"
. තවත් පේළි වලින් දිස්වන අයිතමය පිළිතුර විය යුතුය (දිනුම් ඇදීමක් තිබේ නම් "සැසිය" සමඟ අයිතමය විසඳුම විය යුතුය).
gnome-...
ක්රියාවලි කිහිපයක් ද ඇත (සහ kde පහරක් සමඟ kdevtmpfs
)
ඉහත කිසිවක් ඇත්ත වශයෙන්ම මා වෙනුවෙන් වැඩ කළේ නැත, මට දැන ගැනීමට අවශ්ය වූයේ මගේ වර්තමාන ඩෙස්ක්ටොප් සැසිය ලෙස ග්නෝම් ධාවනය වී ඇත්ද යන්නයි.
මෙය වැඩ කළේ, පර්යන්තයක් විවෘත කරන්න
lsb_release -a
(මගේ UBUNTU යන්ත්රයේ ස්ථාපනය කර ඇති රසය හෝ අනුවාදය පරීක්ෂා කිරීමට)
ls /usr/bin/*session
(දැනට භාවිතයේ පවතින ඩෙස්ක්ටොප් සැසිය / ඩෙස්ක්ටොප් පරිසරය දියත් කරයි)
gnome-shell --version
(gnome ස්ථාපනය කර ඇති අනුවාදය සොයා ගැනීමට)
මෙය dbus සහ ගිණුම් සේවාව සමඟ කළ හැකි ය (පෙරනිමියෙන් උබුන්ටු වල).
$ qdbus --system org.freedesktop.Accounts \
> /org/freedesktop/Accounts/User1000 \
> org.freedesktop.Accounts.User.XSession
ubuntu
මම මෙය ලයිට් ඩීඑම් හරහා පිවිසීමෙන් පරීක්ෂා කර ඇති බව සඳහන් කිරීම වටී (එය චිත්රක පිවිසුම් තිරයයි), එය බ්ලැක්බොක්ස් වැනි සම්භාව්ය ඩෙස්ක්ටොප් එකක් හඳුනාගෙන ඇති අතර පැහැදිලිවම යුනිටි හඳුනා ගනී. මෙය පරිශීලකයා පිවිසුම් තිරය මත සැසියක් ලෙස තෝරා ගන්නා දේවල වටිනාකමක් යැයි මම සැක කරමි, එම නිසා ක්රියාවලි සඳහා එම පරීක්ෂාව භාවිතා කිරීම ටිකක් පහසු වේ
පහත දැක්වෙන පිටපතෙහි ප්රති ulted ලය වූයේ මම unix.se හි පළ කළ සමාන ප්රශ්නයකට හොඳම පිළිතුරයි . එය යුනිටි සහ එල්එක්ස්ඩී සමඟද විශිෂ්ට ලෙස ක්රියා කරයි.
if [ "$XDG_CURRENT_DESKTOP" = '' ]
then
desktop=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/')
else
desktop=$XDG_CURRENT_DESKTOP
fi
desktop=${desktop,,} # convert to lower case
echo "$desktop"
ඔබට නම් කළ මෙවලම භාවිතා කළ හැකිය inxi
. එය උබුන්ටු ගබඩාවලින් ලබා ගත හැක්කේ:
sudo apt install inxi
හෝ github වෙතින්: https://github.com/smxi/inxi
පහත පරිදි විධානය ක්රියාත්මක කරන්න:
inxi -Sx
System: Host: blackhole Kernel: 5.1.15-050115-lowlatency x86_64 bits: 64 compiler: gcc v: 8.3.0
Desktop: i3 4.16.1-178-g31c0f1b8 Distro: Ubuntu 19.04 (Disco Dingo)
Desktop: i3
කොටස සටහන් කරන්න . මගේ නඩුවේ මම භාවිතා කරන කවුළු කළමනාකරු වේ i3
.
විකල්පය -S
පද්ධති තොරතුරු පෙන්වන අතර x
කවුළු කළමනාකරු පිළිබඳ තොරතුරු එක් කරයි.
මට සිතිය හැක්කේ ධාවන ක්රියාවලීන් තුළ දන්නා කවුළු කළමනාකරුවන් පරීක්ෂා කිරීම පමණි. Gconf හි යතුරක් තිබී ඇති අතර එය කැමති කවුළු කළමණාකරු වෙත සකසා ඇත, නමුත් එය Gnome 2.12 සිට ඉවත් කරන ලදි.
එබැවින්, මෙය ක්රමලේඛන කටයුත්තක් සඳහා නම්, සියලුම ලිනක්ස් කවුළු කළමනාකරුවන් සඳහා පර්යේෂණ කිරීමට මම ඔබට යෝජනා කරමි; සමහර ජනප්රිය ඒවා නම්:
ඔබට විධානය සමඟ එක් එක් සඳහා චෙක්පතක් ධාවනය කිරීමට සිදුවේ, ඔබට පරීක්ෂා කිරීමට අවශ්ය කවුළු කළමනාකරුගේ නම pgrep -l $WINDOW_MANAGER
කොහිද $WINDOW_MANAGER
? මෙම pgrep
ක්රියාවලීන් සඳහා විධාන චෙක්පත්.
Gnome Shell කවුළු කළමනාකරුවෙකු ලෙස සලකන්නේ දැයි මට 100% විශ්වාස නැත; /usr/bin/gnome-wm
ස්ක්රිප්ටයේ ලැයිස්තුවකින් මට ලැබුණු ඉතිරි කවුළු කළමනාකරුවන් . මෙම ස්ක්රිප්ට් ඇත්ත වශයෙන්ම භාවිතයට ගත හැකි විය යුතුය (එය දැනට ස්ථාපනය කර ඇති බැවින්) නමුත් මගේ නඩුවේදී එය ක්රියාත්මක කිරීමට උත්සාහ කරන්නේ එය compiz
මගේ පෙරනිමි කවුළු කළමණාකරු නොවන (මගේ Gnome සැසිය තුළ නොවේ).
සංස්කරණය කරන්න:
හොඳයි annarci ගේ ප්රකාශය වඩාත් නිවැරදි බව පෙනේ. මගේ නඩුවේ එය පෙන්නුම් gnome-shell
කළා.
pgrep -l "compiz|metacity|mutter|kwin|sawfish|fluxbox|openbox|xmonad"
$DISPLAY
එහි පරිසරය පරීක්ෂා කිරීමෙන් ඔබට එය කළ හැකිය ).