I have some 30 Linux (RHEL/CentOS 7) desktops that operate as servers.
Their only connections are power and NIC.
Being desktops, most don't have serial ports.

How can I go about using a Linux laptop to serve as their console? I'm thinking of connecting the laptop to the desktop with a USB-to-USB cable.

  1. Is the above possible?
  2. What software (hardware?) would I need on the laptop (desktop?) to enable it to serve as a console?


I need the console to work at all stages of a power-up, e.g. - at the BIOS stage.
Thus, any solutions that rely on the Linux kernel being up and running would not work for me.


Yes, there are products that serve to enable a laptop as a portable KVM device. They are commonly used for lightweight/portable crash carts. Start here: https://www.google.com/search?q=usb+crash+cart+adapter

As we don't do product recommendations, I can't be much more specific than that. Those types of answers don't age well. But this sort of thing is often made by companies like StarTech, IOGEAR, Tripplite, etc.

  • Thanks for the recommendation, @Aaron. And, even though most KVM Console to USB solutions seem to require a VGA port on the debugged machine, I found few that will use HDMI/DVI (as I mentioned, my machines are desktops, whose motherboards mostly do not include a VGA port, but instead, they include HDMI and DVI ports). – boardrider Jul 26 '19 at 17:31

Being desktops I assume Xorg is running on those machines. In that case you can simply use VNC.

Install tigervnc-server on all your servers, and tigervnc on your client and set them up with local users (although, again, being desktops you probably already have a user that starts X)

this will allow you to connect to all your machines while JUST using the network instead of dealing with additional cables connect/disconnect.

IF you don't have Xorg running, then it's not necessary for you to do all this, via SSH you can manage your machine easily.

    ssh user@host -c "systemctl start httpd.service"

You can even work with additional machines with Systemctl (since you speak of CentOS7)

    systemctl --host user@host start httpd.service

These both work via ssh starting httpd.service on the host host with user user

Also with systemd-journal-remote you can share journal entries between hosts, but it's a bit more complex to set up, with --listen-http you can passively wait for entries and then -o output them somewhere on your local machine.

RHEL Documentation on these subjects, FYI:

VNC Client & Server from scratch: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-tigervnc#sec-terminating-vnc-session VNC Existing Server: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-vnc-sharing-an-existing-desktop VNC Existing Client: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-vnc-viewer

systemd-journal-remote: https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.service.html

  • Sorry if I wasn't clear enough, @MatteoBee: see my Edit in the OP. – boardrider Jul 25 '19 at 22:56

It is easy to ssh to the machinse via terminal. But I think what you want is to plug the laptop and act as KVM... why not just put monitor? and keyboard?

  • your suggestion is impractical for me - in terms of access: I have no easy access to the back of the machines, and connecting/disconnecting a screen to the back of a debugged machine is quite unworkable. – boardrider Jul 25 '19 at 23:02
  • 1
    You want it to work from power on/BIOS. You're going to need to plug something in. Period. – Aaron Copley Jul 25 '19 at 23:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.