如何在 byobu (pts) 中启用帧缓冲图像(例如在 w3m、fbi 中)的显示?

war*_*luk 9 command-line byobu w3m framebuffer

我正在尝试在我的旧笔记本电脑上运行没有 X Window System的最小 Ubuntu 13.10 安装。我在此设置中依赖的最有用的工具之一是byobu;但是,它似乎阻止我使用能够在帧缓冲区中显示图像的应用程序。

其中一个程序是浏览器w3m(与其w3m-img软件包一起安装)。从外部byobu(in tty1)执行,但仅当前面有 时sudo,它会显示带有按预期加载的图像的网页。但是,如果byobu启用(因此我的终端不再标识为tty1,而是标识为dev/pts/1),则无法w3m显示图像(无论我是否启动它sudo)。

这同样适用于fbi图像查看器。在byobu(但同样,仅当我使用 启动它时sudo)之外,它可以正常工作。与byobu启用,它不是产生一个错误信息,相关的位似乎是

ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
Run Code Online (Sandbox Code Playgroud)

据我了解,这一切都与byobu依赖伪终端的事实以及一些神秘的权限设置有关(正如sudo我提到的要求似乎表明的那样)。

在此先感谢您的帮助!

小智 4

正如Braden Best 的回答所述,您需要将您的用户添加到该video组中。

但您也可以使用以下命令来完成此操作:

sudo usermod -a -G video {your username}
Run Code Online (Sandbox Code Playgroud)

执行此操作后注销并重新登录(或重新启动)以查看更改。


Bra*_*est 1

帧缓冲设备 ( /dev/fb0) 由用户root和组拥有video

$ ls -l /dev/fb0
crw-rw---- 1 root video 29, 0 Jan 27 11:00 /dev/fb0
Run Code Online (Sandbox Code Playgroud)

为了避免使用sudo帧缓冲区来运行程序,您可以将自己添加到该video组中。

首先,编辑文件。我在这个例子中使用 vim,并假设事先不知道如何使用它。

$ sudo vim /etc/group 
Run Code Online (Sandbox Code Playgroud)

在 vim 中,找到视频行。为此,只需键入,/video然后输入Enter

Shift然后,通过键入+后跟您的用户名将您自己添加到组中A,然后通过键入esc后跟:wq, 和来保存文件Enter

快速重新启动您的 shell,您应该能够使用类似的程序,fbi而无需在其前面添加前缀sudo