วิธีกำหนดค่า XRDP เพื่อเริ่มอบเชยเป็นเซสชันเดสก์ท็อปเริ่มต้น


12

ฉันสงสัยว่ามีวิธีที่จะทำให้ Cinnamon 1.4 เป็นสภาพแวดล้อมเริ่มต้นเมื่อเข้าสู่ระบบ Ubuntu 12.04 หรือไม่ ฉันสามารถติดตั้ง Cinnamon 1.4 ได้โดยไม่มีปัญหาใด ๆ แต่ฉันพยายามเรียกใช้ XRDP เพื่อเข้าสู่ระบบจากเครื่อง Windows และต้องการให้เริ่ม "Cinnamon session" แทนเซสชัน Unity โดยค่าเริ่มต้น

คำถามคือฉันจะบอก XRDP ให้ใช้ Cinnamon แทน Unity เมื่อทำการล็อกอินได้อย่างไร?

XRDP ดูเหมือนจะทำงานได้ดีกว่าเซิร์ฟเวอร์ VNC ใด ๆ


โดยวิธีการที่ xrdp ทำงานเซิร์ฟเวอร์ VNC
Reinier โพสต์

คำตอบ:


20

พบสิ่งนี้ในเน็ตบน URL นี้: http://sigkillit.com/tag/xrdp

ปรับแต่ง Desktop Environment สำหรับ xRDP Session

หากคุณไม่ต้องการใช้สภาพแวดล้อมเดสก์ท็อปเริ่มต้นคุณสามารถปรับแต่งได้โดยการสร้างไฟล์. Xclients (X คือตัวใหญ่ !!!) ในโฮมไดเร็กตอรี่ของคุณเพื่อเรียกใช้สภาพแวดล้อมเดสก์ท็อปที่คุณต้องการ ในการดำเนินการนี้ให้เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้

คำพังเพย 3:

echo "gnome-session" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

Gnome Fallback:

echo "gnome-fallback" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

KDE:

echo "startkde" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

MATE:

echo "mate-session" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

อบเชย:

echo "cinnamon" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

Xfce4:

echo "startxfce4" > ~/.Xclients
chmod +x ~/.Xclients
sudo systemctl restart xrdp.service

ขอบคุณ! แม้หลังจากยุ่งกับ. xsession และอื่น ๆ มันก็ไม่ทำงาน ฉันต้องการไฟล์. Xclients ที่ดูเหมือนว่า นี่เป็นวันที่ Fedora 19
อเล็กซ์

ไฟล์. Xclients ว่างเปล่าจริงหรือ เพิ่งสร้างtouch ~/.Xclients?
Frank Nocke

สิ่งนี้ใช้ได้กับฉันใน CentOS 7 ฉันได้ลองใช้เทคนิคอื่น ๆ ที่ไม่ประสบความสำเร็จมาก่อน
cfinley

7

คุณสามารถเริ่มสภาพแวดล้อมที่คุณต้องการเฉพาะสำหรับ xrdp (ไม่ใช่สำหรับการเข้าสู่ระบบในเครื่อง) ใน /etc/xrdp/startwm.sh

ตัวอย่างเช่นในการเริ่ม xfce ฉันใช้:

#!/bin/sh
if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

# default (= ubuntu)
#. /etc/X11/Xsession

# unity 2d
#echo "gnome-session --session=ubuntu-2d" > ~/.xsession
#. /etc/X11/Xsession

# xfce
startxfce4

exit(0)

แสดงความคิดเห็นคุณสามารถดูคำสั่งเพื่อเริ่มความเป็นเอกภาพ (เซสชัน Ubuntu) และความสามัคคี 2d คุณเพียงแค่ใส่คอมเม้นต์คำสั่ง xfce และเพิ่มคำสั่งเพื่อเริ่ม Cinnamon (ฉันไม่ได้ให้เพราะฉันไม่รู้ว่าจะเริ่มด้วยตนเองได้อย่างไร)

Obs: ฉันเห็นด้วยกับคุณ xrdp ทำงานได้ดีกว่าผู้ชมเดสก์ท็อประยะไกลคนอื่น ๆ ที่ฉันลองและมันทำงานได้ดีกับ xfce ฉันใช้มันจากเครื่องอื่น ๆ ของลินุกซ์กับลูกค้าของ Remmina หากต้องการใช้กับ xfce คุณจะต้องติดตั้ง xubuntu-desktop ( sudo apt-get install xubuntu-desktop)


ดูเหมือนว่าจะสมบูรณ์แบบ แต่ใน CentOS 7.6 ไฟล์นี้ไม่มีอยู่จริง
Musa Haidari

2

หากคุณใช้ Lubuntu Desktop (ทดสอบที่ 12.04 LTS)

  1. สำหรับการค้นพบไวยากรณ์ lx:

    ps aux | grep lx
  2. การใช้ไวยากรณ์ lx:

    echo "lxsession -s Lubuntu -e LXDE" > ~/.xsession    
    sudo service xrdp restart
    

2

ก่อนอื่นคุณควรจะมีอบเชยในระบบของคุณ :)

ประการที่สองคำสั่ง

echo "cinnamon" > ~/.xsession    
sudo service xrdp restart

หรือถ้าคุณต้องการทำมันอย่างหนัก :) ให้ทำดังนี้

  1. แก้ไขไฟล์ /etc/xrdp/startwm.sh

    sudo -H gedit /etc/xrdp/startwm.sh
    
  2. ในตอนท้ายของไฟล์คุณจะพบบรรทัดต่อไปนี้:

    pre_start
    wm_start
    post_start
    
  3. เหล่านี้คือการเรียกฟังก์ชั่นด้านบน ดังนั้นเพื่อให้อบเชยเริ่มต้นเพียงแค่ใส่#ก่อนที่wm_startจะแสดงความคิดเห็น (เพื่อหยุดการเรียกใช้ฟังก์ชั่นที่ค้นหาเซสชัน)

  4. เพิ่มบรรทัดต่อไปนี้ที่ด้านหน้าของสามบรรทัดด้านบน gnome-session --session=cinnamon

  5. รีสตาร์ท xrdp sudo service xrdp restart


ใช้ "cinnamon-session" แทน "cinnamon" เพื่อเขียนเป็น ~ / .xsession
Matthias W.

หรือสำหรับ KDE ให้ echo '/ usr / bin / startkde'> ~ / .xsession
andrew lorien

1

สำหรับ LXDE:

  1. ติดตั้ง lxde-common:

    sudo apt-get install lxde-common
    
  2. ทำการเปลี่ยนแปลงใน/etc/xrdp/startwm.shลักษณะนี้:

    #!/bin/sh
    
    if [ -r /etc/default/locale ]; then
      . /etc/default/locale
      export LANG LANGUAGE
    fi
    
    #. /etc/X11/Xsession
    
    startlxde
    

0

systemctlคำสั่งเป็นเฉพาะกับ Fedora สำหรับ Ubuntu คำสั่งควรเป็น:

sudo service xrdp restart

คุณสามารถแก้ไขคำตอบและเพิ่มได้หรือไม่
Braiam

0

นี่คือความสับสนเกินไป สิ่งที่คุณต้องทำคือใส่ข้อความในไฟล์ที่เรียกว่า.Xclientsในโฮมไดเร็กตอรี่ของคุณซึ่งจะระบุเดสก์ท็อปเริ่มต้น. หากต้องการดูว่ามีอะไรติดตั้งอยู่ในระบบของคุณและค้นหาสิ่งที่เรียกว่าทำได้

ls /user/share/xessions

คุณจะเห็นไฟล์ที่มีนามสกุล.desktopเป็นตัวอย่างmate.desktop

ในการสร้างเดสก์ท็อปเริ่มต้นของคุณให้เป็นคู่คุณสามารถแก้ไข.Xclientsในโฟลเดอร์บ้านของคุณหากคุณมีไฟล์ดังกล่าวหรือสร้างไฟล์โดยไม่มีสิ่งใดในนั้นยกเว้นประเภทเดสก์ท็อปที่คุณเลือก (โดยไม่มีนามสกุล .desktop)

echo mate-session > ~/.Xclients 

ควรทำสิ่งนี้ได้ดี จากนั้นคุณสามารถออกจากระบบและลงชื่อเข้าใช้ใหม่หรือหากคุณเชื่อมต่อโดยใช้ xrdp คุณสามารถเริ่ม xrdp ใหม่ซึ่งจะออกจากระบบและคุณสามารถเข้าสู่ระบบได้อีกครั้ง (เพียงแค่ออกจากระบบและกลับเข้าสู่ระบบอีกครั้ง รีสตาร์ท xrdp ฯลฯ ... )

ลืม switchdesk - มันหักใน Fedora 23

ลืมสิ่งที่อยู่บนเว็บให้มากที่สุดสำหรับ Fedora เวอร์ชั่นก่อนหน้า Ubuntu และอื่น ๆ ... มันไม่ทำงาน


ls /user/share/xessionsควรเป็นls /usr/share/xessions
PLA

2
@PLA เกือบถูกต้องแล้วควรเป็น/usr/share/xsessions
Jarad Downing

-1

ฉันต้องยอมรับว่าฉันไม่มีประสบการณ์ส่วนตัวกับ XRDP แม้ว่าอาจใช้งานได้หากคุณปฏิบัติตามหลักเกณฑ์เหล่านี้หากต้องการเปลี่ยนสภาพแวดล้อมเดสก์ทอปเริ่มต้นของคุณเมื่อเข้าสู่ระบบ:

http://www.tejasbarot.com/2012/05/17/howto-change-default-user-session-ubuntu-12-04-lts-precise-pangolin-login-session-desktop-environment/


1
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
อันวาร์

นี้จะกำหนดสภาพแวดล้อมสำหรับทุกการเข้าสู่ระบบ (xrdp หรือเข้าสู่ระบบท้องถิ่น)
Laurent

ลิงค์นั้นตายไปแล้ว
andrew lorien
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.