Skip to content

DirectFB doesn't always need access to /dev/tty0 #14

Open
@Mqrius

Description

The information for DirectFB states that the user will always need access to /dev/tty0

Using the single application core you always need access to /dev/tty0, /dev/fb0 and the mouse device (/dev/psaux, /dev/mouse).
You can either run all DirectFB applications as root or allow users to access these devices.

Now I'll readily admit that I don't have a complete understanding of what's going on, but this confuses me. By my understanding, /dev/tty0 is much broader in scope than /dev/tty, as the former refers to "whatever tty is currently on display" while the latter means "the tty that launched the program". For those reasons /dev/tty is has permissions 666 by default.

But if I want to have access to the current terminal, then I should only need access to /dev/tty, I thought. So to try, I recompiled DirectFB, replacing all references to /dev/tty0 with /dev/tty, and ran links2 -g in a virtual terminal

This worked fine. I did have to add myself to the video group for access to /dev/fb0, and to the input group for access to /dev/input for touchpad/mouse control.

As mentioned before, I don't have a full understanding. A blanket replacement of /dev/tty0 with /dev/tty probably broke a whole bunch of other capabilities of DirectFB, perhaps? But it seems to me like there are use cases where only access to /dev/tty is required. It would be nice to limit DirectFB's reach, and only require /dev/tty0 in cases where it can't be avoided.

Thoughts?

Some debugging output:

14:08 ~:\ls -ld /dev/input
drwxr-xr-x 4 root root 400 jul 23 13:59 /dev/input
14:09 ~:\ls -l /dev/tty0
crw-rw---- 1 root tty 4, 0 jul 23 13:59 /dev/tty0
14:09 ~:\ls -l /dev/tty
crw-rw-rw- 1 root tty 5, 0 jul 23 14:00 /dev/tty
14:09 ~:\ls -l /dev/fb0
crw-rw---- 1 root video 29, 0 jul 23 13:59 /dev/fb0
14:09 ~:\ls -ld /dev/input
drwxr-xr-x 4 root root 400 jul 23 13:59 /dev/input
14:09 ~:groups
marius adm cdrom sudo dip video plugdev lpadmin sambashare input

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions