./tripwire --update --twrfile ./report/name.twr
所以我尝试通过所述方式对 tripwire 数据库进行更新这里作为我计算机上的 root,但我收到这些错误(请注意 --init 和 --check 工作正常):
未指定协议
QXcbConnection: 无法连接以显示:0
中止
交互式更新失败。
错误:无法启动编辑器。
我正在使用 KDE 运行 Debian 9.1。我该如何解决这个问题?
答案1
很简单,你没有DISPLAY=:0
设置环境变量。
你可以运行:
export DISPLAY=:0; ./tripwire --update --twrfile ./report/name.twr
或者您可以从终端根会话注销并启动新的会话而不传递 - 参数,这将使您继承当前会话的环境变量(包括该
DISPLAY
变量)。所以按ctrl+d然后运行su
。输入您的密码,然后您可以使用以下命令检查您的env
环境:grep
DISPLAY
env | grep DISPLAY
您可以将默认编辑器更改为基于控制台的编辑器,例如
nano
或vim
。您应该按照EDITOR
Tripwire 配置文件中提到的字段进行更改。Tripwire 将使用 Tripwire 配置文件的 EDITOR 行上指定的默认文本编辑器显示报告文件
选择您想要的方式。这三种方式中的任何一种都将允许您打开基于 GUI 的应用程序或将 GUI 文本编辑器设置更改为基于控制台的设置。
第一个和第二个最简单的假设是您想要使用图形编辑器查看 Tripwire 报告的内容。
答案2
较新的系统在设计上不允许图形应用程序作为 root(这是 Wayland 的事情)。解决方法:
$ xhost si:localuser:root
$ sudo -i
$ ...your-graphical-app...
恢复默认权限:
$ xhost -si:localuser:root