环境中未设置 XDG_RUNTIME_DIR

环境中未设置 XDG_RUNTIME_DIR

我打开一个终端并使用sudo -s -u mysql。现在,当我尝试打开一个文件时,其所有者正在mysql使用gedit xyz.err,我收到错误:

No protocol specified

** (gedit:23076): WARNING **: Could not open X display
No protocol specified
error: XDG_RUNTIME_DIR not set in the environment.

(gedit:23076): Gtk-WARNING **: cannot open display: :0

有没有什么办法可以解决这个错误?

答案1

您可以使用 获得交互式会话su - mysql,然后运行gedit​​。对我有用。

man sudo没有提供任何细节,但可能是启动的默认 shell-s非常有限。

答案2

您找错地方了,以(系统)用户 mysql 身份运行 mysql 不会解决任何问题。

mysql是一个客户端程序,由 运行的服务器的身份验证mysqld是在连接上进行的(tcpdump 端口 3306 以使其清楚)。

因此,您可以使用任何“系统”用户启动 mysql,例如:

$ mysql -u root -p localhost

在提示时输入管理员(“root”)密码,然后您应该会看到以下内容:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 240
Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

...就这样!

相关内容