Skip to content

Instantly share code, notes, and snippets.

@subtlecaffeine
Created October 8, 2025 15:42
Show Gist options
  • Select an option

  • Save subtlecaffeine/a2fb37a27d2c15b34d38808b0100b766 to your computer and use it in GitHub Desktop.

Select an option

Save subtlecaffeine/a2fb37a27d2c15b34d38808b0100b766 to your computer and use it in GitHub Desktop.
VirtualConsole/Pseudo Terminal in 86Box on Linux Hosts

This one tripped me up becasue I couldn't see where it was documented and I'm not sure if it was something I was just expected to know...which, apparently; I didn't.

On Windows hosts you can use a named pipe or com0com to achieve a virual com port you can toss miniterm at. Why would you want to do this? Because Xenix286 doesn't have a TCP/IP stack. If I want to talk to it so I can copy/paste code, then I have to do it over terminal. Maybe I'm going to drop it on the network at a security conference in front of a telnet bridge and see who finds it.

On Windows, this was easy; com0com, serial port pass through, done. Knowing it supported named pipes..I thought this would be even easier on Linux. tty0tty, same process....no. Apparently the dropdown box only allows /dev/ttySn devices. Okay...we'll symlink it! Oh...now that device disappeared from the list. Okay..screw it...let's force the name in the config; maybe it'll work anyway. No dice.

Fast forward through a day of messing around and I finally decided to dig down in to the code.

Named pipes aren't available on Linux.

This made my jaw drop. How the hell do you not support named pipes on Linux...the operating system where you can pipe anything anywhere? But if that's the case...then how the hell do I do this?

Well...turns out VirtualConsole/Pseudo Terminal was making it stupid easy; just not telling you. When you pick that mode, and set host device to none; it will create a /dev/pts device. There's your pseudo terminal! Just look for the pts device it creates, the connect to it at the baud rate. No bridging or anything required.

Even a single line that says "This mode creates a device under /dev/pts" would have saved me...hours or work.

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