[systemd-devel] Question about 'vt100-nav' : unknown terminal type

Lennart Poettering lennart at poettering.net
Thu Dec 23 23:45:13 PST 2010


On Fri, 24.12.10 09:04, fykcee1 at gmail.com (fykcee1 at gmail.com) wrote:

> Hi Lennart,
> 
> Thank you for the reply. Still get one question: what does the comment
> "Proper handling of /dev/console would be cool" mean?

/dev/console is an alias name for some other tty and the kernel offers
no nice way to determine where /dev/console actually points to. Due to
that we currently fallback to the safe choice for TERM (i.e. vt100-nav)
even if /dev/console might actually point to the much more powerful VT
system where "linux" might be a much better choice as TERM.

Kay has posted a kernel patch which allows easy detection of the device
/dev/console really points to. As it looks right now this will enter the
kernel soon. As soon as that in place we can update
default_term_for_tty() to handle /dev/console a bit smarter.

> I found exec_spawn(src/execute.c) will call default_term_for_tty:
> 
> our_env[n_env++] = strdup(default_term_for_tty(tty_path(context)))
> 
> If I didn't specify TTYPath in .service, then tty_path will return
> "/dev/console", which causes default_term_for_tty always to return
> "TERM=vt100-nav".

Yes, we default to the safe choice of TERM=vt100-nav in case we cannot
really determine what kind of tty we are really connected to. That is
the only logic that makes sense.

Now, as it turns out vt100-nav is not the safe choice we thought it was,
since it seems to break for you.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list