this post was submitted on 21 Jul 2023
9 points (90.9% liked)

Linux

48008 readers
1194 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm experiencing an issue with commands that provide a tui interface like journalctl, systemctl and vim. It feels like terminal dimensions are not matching up somehow. And this issue is present only some times. On host I'm using Black Box and I tile my windows using pop os tiler. I'm also frequently scaling the font with ctrl + and ctrl - shortcuts. Remote sshd host is running Debian variables $LINES and $COLUMNS are set. bashrc files are in their default state.

How is this supposed to work? Isn't my terminal client sending new $LINES and $COLUMNS each time there is a change?

top 2 comments
sorted by: hot top controversial new old
[–] donio@lemmy.world 2 points 1 year ago* (last edited 1 year ago)

I believe the primary mechanism for programs to determine the terminal size these days is the TIOCGWINSZ ioctl and there is also a SIGWINCH signal that provides a notification when the size changes. If I remember right the terminal emulator is supposed to use another ioctl, TIOCSWINSZ to set the correct size on the pty.

You could try running stty -a to see what the pty thinks its size is. You could also try running the resize command in the shell to see if that displays the correct size and if it sets the correct size on the pty. I believe this works by sending an escape sequence to the terminal to query the size and then uses the ioctl to set it. This shouldn't be necessary thoguh and even if it works it's not a real solution but might help to narrow down where the issue might be.