大佬中秋快乐,节日里来看看新手问题 Unable to init server: Could not connect: Connection refused:)

前言:我用的系统是 openSUSE Leap 15.3 桌面选择 xfce,系统更新到最新。总是碰到 Unable to init server: Could not connect: Connection refused 这样的提示,萌新没有任何头绪,所以把两个情景详细的写出来,希望大佬指点迷津。

情景一、LightDM GTK+ Greeter settings 点击后输完密码没弹出设置界面


点击后输入密码后没有反应,在终端执行 lghtdm-gtk-greeter-settings 会弹出一个对话框,可以打开该功能的设置界面但是不能保存修改内容,如下图:

2


在终端运行 sudo lghtdm-gtk-greeter-settings 后结果如下:

注意:后来在 YaST 的 User and Group Management 中给我的账号加入 lightdm 组后能够正常弹出,但是为了解决情景二的问题,我把能加的用户组都加上了,结果点击后又没反应了:frowning:
这个问题论坛里有人提过,但是似乎没有解决,所以我把情景二也写出来提供多一点思路。

情景二、Thunar 无法实现类似 Manjaro 的 open thunar root here
想像 Manjaro 一样实现下面功能,拷贝修改系统文件很方便:
5
在 thunar 中的 Edit->Configure custom actions 中添加脚本:
6

使用起来和情景一一样没有反应。
在终端中输入脚本里的语句执行结果如下:
8
加上 sudo 执行结果一样。

以上两种情况终端都会提示:Unable to init server: Could not connect: Connection refused,所以个人猜测是同一个原因,但是萌新并不知道问题出在哪里,希望大佬能帮我分析原因!

Open thunar as root here

  • Name: Open thunar as root here

  • Command: gksu thunar %f

  • File pattern: *

  • Appears if selection contains: Directories

Note: Some distributions no longer include gksu. Use pkexec instead.

源文:Thunar - Custom Actions

你可以使用 gksu thunar %f 或者 pkexec thunar %f 启动会话。


或许你可以在终端中以 root 用户登录系统,然后再在终端中启动 thunar


gksu 也试了,没用~

你需要吧 %f 替换成具体的路径,比如

$ pkexec thunar /etc

10

这我就没啥办法了

建议看看其他用户有什么好的解决办法 :rofl:

:joy:还是谢谢回复

1赞

试试 /usr/bin/xdg-su -c thunar 或者 dbus-launch thunar -qwindowtitle "%c" "%u"

11
/usr/bin/xdg-su -c thunar这个可以, dbus-launch thunar -qwindowtitle "%c" "%u"这个不行
/usr/bin/xdg-su -c thunar %F写到 thunar 的 custom action 里运行也不行

xdg-su -c thunar 好像加不了 %f 这类参数,没用过 Manjaro 不知道 Manjaro 里面是什么使用效果,我感觉 xdg-su -c thunar 就挺好用的了。还有一种命令是 thunar admin:%f,这个命令效果有点奇怪我感觉,你试试。把命令放到 custom action 里,直接运行不行

这个提示是什么原因呢,是我 YaST 里的什么权限没设置好吗?因为别的发行版比如 debian、manjaro 都是没有这个提示的,我想弄清楚根本原因。

可能是 Xorg 的安全问题?还能有其他在用文件管理器的时候被称为 Server 的东西吗? :rofl:

我也不懂,暂时换回 Manjaro 了,但是 arch 的字体渲染一言难尽啊,安装 VirtualBox 也有很多问题 :sleepy:

把 sudo 改成 xdg-su 。
xdg-su -c command

终端里可以,thunar 右键菜单里不可以 :pensive:

三个步骤来:

1、补可能缺失的包: zypper in --force --recommends -t pattern “xfce”
2、检查/etc/hosts 文件, 如果本机名写了固定 IP,但实际本机又是动态 IP,就很魔幻了,可以用 127.0.0.2 作为本机 IP, 写上本机主机名, 然后重启
3、(强制) 删除 ~/.Xauthority 文件后, 再重新登录试试

如果还是相同的情况,就要打开一个 terminal, 运行 env 看看当前的环境变量,以及 pkexec 看看输出再定了。

not work.
这是我在终端运行 env 命令输出的结果:

LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:.cmd=00;32:.exe=01;32:.com=01;32:.bat=01;32:.btm=01;32:.dll=01;32:.tar=00;31:.tbz=00;31:.tgz=00;31:.rpm=00;31:.deb=00;31:.arj=00;31:.taz=00;31:.lzh=00;31:.lzma=00;31:.zip=00;31:.zoo=00;31:.z=00;31:.Z=00;31:.gz=00;31:.bz2=00;31:.tb2=00;31:.tz2=00;31:.tbz2=00;31:.xz=00;31:.avi=01;35:.bmp=01;35:.dl=01;35:.fli=01;35:.gif=01;35:.gl=01;35:.jpg=01;35:.jpeg=01;35:.mkv=01;35:.mng=01;35:.mov=01;35:.mp4=01;35:.mpg=01;35:.pcx=01;35:.pbm=01;35:.pgm=01;35:.png=01;35:.ppm=01;35:.svg=01;35:.tga=01;35:.tif=01;35:.webm=01;35:.webp=01;35:.wmv=01;35:.xbm=01;35:.xcf=01;35:.xpm=01;35:.aiff=00;32:.ape=00;32:.au=00;32:.flac=00;32:.m4a=00;32:.mid=00;32:.mp3=00;32:.mpc=00;32:.ogg=00;32:.voc=00;32:.wav=00;32:.wma=00;32:*.wv=00;32:
HOSTTYPE=x86_64
XAUTHLOCALHOSTNAME=localhost.localdomain
LESSCLOSE=lessclose.sh %s %s
TERMINATOR_UUID=urn:uuid:c6cd09f4-1dc6-453e-8ae5-3288d66460df
XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
XDG_MENU_PREFIX=xfce-
LANG=en_US.utf8
GDM_LANG=en_US.utf8
WINDOWMANAGER=startxfce4
LESS=-M -I -R
DISPLAY=:0.0
JAVA_ROOT=/usr/lib64/jvm/jre-11-openjdk
HOSTNAME=localhost.localdomain
CONFIG_SITE=/usr/share/site/x86_64-unknown-linux-gnu
CSHEDIT=emacs
GPG_TTY=/dev/pts/0
AUDIODRIVER=pulseaudio
LESS_ADVANCED_PREPROCESSOR=no
COLORTERM=truecolor
JAVA_HOME=/usr/lib64/jvm/jre-11-openjdk
MACHTYPE=x86_64-suse-linux
XDG_VTNR=7
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
QEMU_AUDIO_DRV=pa
MINICOM=-c on
QT_SYSTEM_DIR=/usr/share/desktop-data
OSTYPE=linux
XDG_SESSION_ID=2
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/scott
USER=scott
PANEL_GDK_CORE_DEVICE_EVENTS=0
PAGER=less
DESKTOP_SESSION=xfce
MORE=-sl
PWD=/home/scott
SSH_ASKPASS=/usr/lib/ssh/ssh-askpass
HOME=/home/scott
HOST=localhost.localdomain
XNLSPATH=/usr/share/X11/nls
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/usr/share:/usr/share
TERMINATOR_DBUS_NAME=net.tenshu.Terminator21a9d5db22c73a993ff0b42f64b396873
XDG_SESSION_DESKTOP=xfce
PROFILEREAD=true
GTK_MODULES=canberra-gtk-module
TERMINATOR_DBUS_PATH=/net/tenshu/Terminator2
FROM_HEADER=
MAIL=/var/spool/mail/scott
LESSKEY=/etc/lesskey.bin
TERM=xterm-256color
VTE_VERSION=5803
SHELL=/bin/bash
XDG_SESSION_CLASS=user
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
QT_IM_MODULE=xim
XMODIFIERS=@im=local
LS_OPTIONS=-N --color=tty -T 0
XCURSOR_THEME=DMZ
XDG_CURRENT_DESKTOP=XFCE
PYTHONSTARTUP=/etc/pythonstart
XDG_SEAT=seat0
SHLVL=1
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
MANPATH=/usr/local/man:/usr/share/man
XSESSION_IS_UP=yes
GDMFLEXISERVER=/usr/lib/lightdm/gdmflexiserver
GDMSESSION=xfce
LOGNAME=scott
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/home/scott/.Xauthority
JRE_HOME=/usr/lib64/jvm/java-11-openjdk-11
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_CONFIG_DIRS=/etc/xdg:/etc/xdg
PATH=/home/scott/bin:/usr/local/bin:/usr/bin:/bin
JAVA_BINDIR=/usr/lib64/jvm/jre-11-openjdk/bin
SDL_AUDIODRIVER=pulse
G_BROKEN_FILENAMES=1
QT_IM_SWITCHER=imsw-multi
HISTSIZE=1000
SESSION_MANAGER=local/localhost.localdomain:@/tmp/.ICE-unix/1765,unix/localhost.localdomain:/tmp/.ICE-unix/1765
CPU=x86_64
LESSOPEN=lessopen.sh %s
GTK_IM_MODULE=cedilla
_=/usr/bin/env

运行 pkexec 命令提示输入密码后会进入另一个命令行模式。

感觉上是 polkit 的问题~
检查 /etc/sysconfig/security, PERMISSION_SECURITY=“easy local”
然后运行 set_polkit_default_privs

这样会重建/etc/polit-1/rules.d/90-default-privs.rules, 如果还不行,就没办法了,毕竟不是生产系统~

还是不行。
多好的一个发行版,那么稳定。。

感谢各位大佬,我终于找回密码了,这个问题已经解决了。
在~/.bashrc 里面加入如下两行:
xhost +local:root > /dev/null 2>&1
export DISPLAY=:0.0
然后重启后就没问题了。
是在虚拟机里翻了 Manjaro 实现的 bashrc 找到的,哈哈

1赞