For direct low-level printer control from a terminal, without specific software, I found the following solution with full credit thanks to user: http://stackexchange.com/users/6463673/meuh Sharing here as may be of use to other users in the 3d Printing community, and I was unable to source a "complete" solution to this elsewhere. ---------- Step 1) Create a custom python script that allows you to set arbitrary baud rates (make executable with `chmod u+x`). #!/usr/bin/python # set nonstandard baudrate. Original Question: http://unix.stackexchange.com/a/327366/119298 import sys,array,fcntl # from /usr/lib/python2.7/site-packages/serial/serialposix.py # /usr/include/asm-generic/termbits.h for struct termios2 # [2]c_cflag [9]c_ispeed [10]c_ospeed def set_special_baudrate(fd, baudrate): TCGETS2 = 0x802C542A TCSETS2 = 0x402C542B BOTHER = 0o010000 CBAUD = 0o010017 buf = array.array('i', [0] * 64) # is 44 really fcntl.ioctl(fd, TCGETS2, buf) buf[2] &= ~CBAUD buf[2] |= BOTHER buf[9] = buf[10] = baudrate assert(fcntl.ioctl(fd, TCSETS2, buf)==0) fcntl.ioctl(fd, TCGETS2, buf) if buf[9]!=baudrate or buf[10]!=baudrate: print("failed. speed is %d %d" % (buf[9],buf[10])) sys.exit(1) set_special_baudrate(0, int(sys.argv[1])) ---------- Step 2) Run the script to set your baud rate. `./set_custom_baud_rate.py <> /dev/ttyUSB0 250000` ---------- Step 3) You can now monitor your printer output in a terminal window simply with: `tail -f /dev/ttyUSB0` ---------- Step 4) And finally, open up a new terminal window, and you can directly send M or Gcode to your printer; example: `echo "M115" >> /dev/ttyUSB0`