我尝试将 22.04 作为我的主要系统。大部分问题我都解决了,但有一个问题仍然存在。
我通过 HyperV 在 Windows 11 上使用 Ubuntu 作为开发系统,但为了实现复制/粘贴等无缝的用户体验,我使用 XRDP,它通过普通控制台解决了几个问题:复制/粘贴、映射本地笔记本电脑驱动器路径,但我要解决的主要问题是创建自定义分辨率,或其他需要“解锁”Ubuntu 的管理级别设置。
XRDP 管理网络的选项甚至不显示解锁。
运行 shell 本地控制台 << 草稿/损坏.... 无法将 xrdp 更改为我可以通过本地控制台设置而无需管理员.. GNOME / Wayland 中的按钮>>>
xrdp 会话,注意屏幕:
penguinpages@lt-ubuntu22:~/Documents/git/github/cluster_devops$ xrandr
Screen 0: minimum 256 x 256, current 1920 x 1080, maximum 16384 x 16384
rdp0 connected primary 1920x1080+0+0 0mm x 0mm
1920x1080 50.00*
1920x1440_60.00 (0x535) 233.500MHz -HSync +VSync
h: width 1920 start 2064 end 2264 total 2608 skew 0 clock 89.53KHz
v: height 1440 start 1443 end 1447 total 1493 clock 59.97Hz
# vs local console
core@lt-ubuntu22:~$ xrandr
Screen 0: minimum 16 x 16, current 1024 x 768, maximum 32767 x 32767
XWAYLAND0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 59.92*+
800x600 59.86
640x480 59.38
320x240 59.52
720x480 59.71
640x400 59.95
320x200 58.96
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
core@lt-ubuntu22:~$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
core@lt-ubuntu22:~$ xrandr --newmode "1920x1440_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
core@lt-ubuntu22:~$ xrandr --addmode XWAYLAND0 "1920x1440_60.00"
core@lt-ubuntu22:~$ xrandr --addmode rdp0 "1920x1440_60.00"
xrandr: cannot find output "rdp0"
root@lt-ubuntu22:~# cvt 1920 1440
# 1920x1440 59.97 Hz (CVT 2.76M3) hsync: 89.53 kHz; pclk: 233.50 MHz
Modeline "1920x1440_60.00" 233.50 1920 2064 2264 2608 1440 1443 1447 1493 -hsync +vsync
root@lt-ubuntu22:~# xrandr --newmode "1920x1440_60.00" 233.50 1920 2064 2264 2608 1440 1443 1447 1493 -hsync +vsync
core@lt-ubuntu22:/etc/netplan$ sudo gnome-control-center
Authorization required, but no authorization protocol specified
(gnome-control-center:3312): Gtk-CRITICAL **: 16:34:07.317: gtk_style_context_add_provider_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
Authorization required, but no authorization protocol specified
(gnome-control-center:3312): Gtk-WARNING **: 16:34:07.320: cannot open display: :10.0
以上与本地控制台:
penguinpages@lt-ubuntu22:~$ sudo xrandr
Screen 0: minimum 16 x 16, current 1024 x 768, maximum 32767 x 32767
XWAYLAND0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 59.92*+
800x600 59.86
640x480 59.38
320x240 59.52
720x480 59.71
640x400 59.95
320x200 58.96
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
penguinpages@lt-ubuntu22:~$ sudo cvt 1920 1440
# 1920x1440 59.97 Hz (CVT 2.76M3) hsync: 89.53 kHz; pclk: 233.50 MHz
Modeline "1920x1440_60.00" 233.50 1920 2064 2264 2608 1440 1443 1447 1493 -hsync +vsync
penguinpages@lt-ubuntu22:~$ sudo xrandr --newmode "920x1440_60.00" 233.50 1920 2064 2264 2608 1440 1443 1447 1493 -hsync +vsync
penguinpages@lt-ubuntu22:~$ sudo gnome-control-center
(gnome-control-center:2783): dconf-WARNING **: 02:32:58.402: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
<无解锁选项>
目标:在 GUI 中解锁 Ubuntu 22.04,以便我可以影响 GNOME 中所需的管理任务,例如为 X 会话创建自定义分辨率。
答案1
根据您的描述,这种行为是 Ubuntu 在远程连接时设计的。此行为由 Polkit 软件控制。要解决您的问题,您确实有一些选择,
您可以完全禁用 polkit 保护(不建议这样做,因为这样会降低系统的安全级别)
创建 Polkit 将会确认的例外规则,并允许您在远程会话中通过 GUI 执行请求的操作
使用命令行和 sudo...CLI 始终在本地或远程工作
作为例外规则的示例,您可以尝试使用此流程,看看它是否适合您。在此示例中,我们将在远程会话中为用户管理小程序提供解锁按钮
A.创建一个名为47-允许-usr-mgt.pkla它将在 /etc/polkit-1/localauthority/50-local.d/ 下创建。
B. 在此文件中,复制以下代码
[user admin]
Identity=unix-user:*
Action=org.gnome.controlcenter.user-accounts.administration
ResultAny=auth_admin_keep
ResultInactive=no
ResultActive=no
注销/登录系统并重试
您可以创建相同类型的 pkla 异常文件用于联网
A.创建一个名为47-允许-网络管理.pkla它将在 /etc/polkit-1/localauthority/50-local.d/ 下创建。
B. 在文件中,复制以下代码
[Modify system settings for network]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.settings.modify.system
ResultAny=no
ResultInactive=no
ResultActive=yes
再次强调,这些是如何配置系统的示例。请根据需要进行调整
希望这能有所帮助,下次见