{"id":1935,"date":"2026-08-11T11:37:37","date_gmt":"2026-08-11T03:37:37","guid":{"rendered":"https:\/\/1212967.xyz\/blog\/?p=1935"},"modified":"2026-08-11T16:27:46","modified_gmt":"2026-08-11T08:27:46","slug":"ubuntu-server%e5%ae%89%e8%a3%85cinnamon%e5%92%8cxrdp-glamour%e8%bf%9c%e7%a8%8b%e6%a1%8c%e9%9d%a2","status":"publish","type":"post","link":"https:\/\/1212967.xyz\/blog\/2026\/08\/11\/ubuntu-server%e5%ae%89%e8%a3%85cinnamon%e5%92%8cxrdp-glamour%e8%bf%9c%e7%a8%8b%e6%a1%8c%e9%9d%a2\/","title":{"rendered":"Ubuntu Server 26\u5b89\u88c5Cinnamon\u548cxrdp glamour\u8fdc\u7a0b\u684c\u9762"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">0.\u5f53\u524d\u73af\u5883<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>quq233@quq233:~\/xorgxrdp$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription:    Ubuntu 26.04 LTS\nRelease:        26.04\nCodename:       resolute\n\nquq233@quq233:~\/xorgxrdp$ uname -a\nLinux quq233 7.0.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 17 20:52:35 UTC 2026 x86_64 GNU\/Linux\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.\u5b89\u88c5Cinnamon<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y cinnamon-core<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.\u5b89\u88c5xrdp<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y xrdp<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.\u7f16\u8bd1\u5b89\u88c5xorgxrdp<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y libepoxy-dev libgbm-dev nasm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770bxrdp\u7248\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(base) quq233@quq233:~\/xorgxrdp$ xrdp -v\nxrdp 0.10.1\n  A Remote Desktop Protocol Server.\n  Copyright (C) 2004-2024 Jay Sorg, Neutrino Labs, and all contributors.\n  See https:\/\/github.com\/neutrinolabs\/xrdp for more information.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u514b\u9686xorgxrdp\u4ed3\u5e93\uff0c\u6ce8\u610f\u7248\u672c\u8981\u4e00\u81f4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone --recursive https:\/\/github.com\/neutrinolabs\/xorgxrdp.git\ncd xorgxrdp\ngit fetch --tags\ngit checkout v0.10.1\n.\/bootstrap\n.\/configure --enable-glamor\nmake\nsudo make install<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.\u914d\u7f6e\u6743\u9650<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u786e\u4fdd\u5f53\u524d\u7528\u6237\u5728video\u548crenderer\u7ec4<\/p>\n\n\n\n<div class=\"wp-block-argon-collapse collapse-block shadow-sm collapsed hide-border-left\" style=\"border-left-color:#ffffff00\"><div class=\"collapse-block-title\" style=\"background-color:#ffffff00\"><span class=\"collapse-block-title-inner\">\u9488\u5bf9lxc\u5bb9\u5668\uff08\u4e0d\u662flxc\u5bb9\u5668\u53ef\u5ffd\u7565\uff09<\/span><i class=\"collapse-icon fa fa-angle-down\"><\/i><\/div><div class=\"collapse-block-body\" style=\"display: none\">\u5982\u679c\u662flxc\u5bb9\u5668\u7684\u8bdd\uff0c\u7531\u4e8e\u5bb9\u5668\u5185\u5916id\u4e0d\u540c\u4f1a\u5bfc\u81f4xrdp\u65e0\u6cd5\u4f7f\u7528gpu<br>\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u653e\u5bbd\u6743\u9650\u9650\u5236<br><code>sudo tee \/etc\/systemd\/system\/fix-dri-perms.service &lt;&lt; 'EOF'<br>[Unit]<br>Description=Fix DRI device permissions<br>After=local-fs.target<br>[Service]<br>Type=oneshot<br>ExecStart=\/bin\/chmod 666 \/dev\/dri\/card1 \/dev\/dri\/renderD128<br>RemainAfterExit=yes<br>[Install]<br>WantedBy=multi-user.target<br>EOF<br>sudo systemctl daemon-reload<br>sudo systemctl enable fix-dri-perms.service<br>sudo systemctl start fix-dri-perms.service<\/code><\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -aG video,render $USER #\u9700\u8981\u91cd\u65b0\u767b\u5f55\/\u91cd\u542f\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uff08\u91cd\u8981\uff09<\/strong>\u4ee5\u53ca\u8fdb\u884c\u8fd9\u4e2a\u795e\u79d8\u4eea\u5f0f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cp \/etc\/pam.d\/xrdp-sesman \/etc\/pam.d\/xrdp-sesman.bak\n\nsudo tee \/etc\/pam.d\/xrdp-sesman &gt; \/dev\/null &lt;&lt; 'EOF'\n#%PAM-1.0\nauth     required  pam_env.so readenv=1\nauth     required  pam_env.so readenv=1 envfile=\/etc\/default\/locale\n@include common-auth\n-auth    optional  pam_gnome_keyring.so\n-auth    optional  pam_kwallet5.so\n@include common-account\n@include common-password\n@include common-session\n-session optional  pam_gnome_keyring.so auto_start\n-session optional  pam_kwallet5.so auto_start\n-session optional  pam_systemd.so\nEOF<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u8fd9\u4e00\u6b65\u662f\u8ba9 xrdp \u767b\u5f55\u65f6\u901a\u8fc7 <code>pam_systemd<\/code> \u5411 logind \u6ce8\u518c\u4e00\u4e2a\u771f\u6b63\u7684 session\uff0c\u8fd9\u6837 logind \u624d\u4f1a\u7ed9\u8fd9\u4e2a session \u7684\u8fdb\u7a0b\u6388\u6743\u8bbf\u95ee <code>\/dev\/dri\/card1<\/code>\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">5.\u914d\u7f6exrdp\u4f7f\u7528cinnamon<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5907\u4efd\u65e7\u7684 .xsession\uff08\u5982\u679c\u6709\u7684\u8bdd\uff09\nmv ~\/.xsession ~\/.xsession.bak 2&gt;\/dev\/null\n\n# \u5c06 cinnamon-session \u5199\u5165 .xsession\necho \"cinnamon-session\" &gt; ~\/.xsession\n\n# \u8d4b\u4e88\u6267\u884c\u6743\u9650\nchmod +x ~\/.xsession\n\n#\u8bb0\u5f97\u91cd\u542f\nsudo systemctl restart xrdp xrdp-sesman<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6.\u8bb0\u5f97\u653e\u884c\u7aef\u53e3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 3389\/tcp<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>0.\u5f53\u524d\u73af\u5883 1.\u5b89\u88c5Cinnamon 2.\u5b89\u88c5xrdp 3.\u7f16\u8bd1\u5b89\u88c5xorgxrdp \u5b89\u88c5\u4f9d\u8d56 \u67e5\u770bxrdp [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1935","post","type-post","status-publish","format-standard","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/posts\/1935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/comments?post=1935"}],"version-history":[{"count":9,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/posts\/1935\/revisions"}],"predecessor-version":[{"id":1948,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/posts\/1935\/revisions\/1948"}],"wp:attachment":[{"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/media?parent=1935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/categories?post=1935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1212967.xyz\/blog\/wp-json\/wp\/v2\/tags?post=1935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}