Ubuntu Pipe ("|") not working

Posted September 10, 2018 11.9k views
ApplicationsUbuntu 16.04

For some reason the “|” (pipe) doesn’t works in the console. I’m using Microsoft Edge because Chrome doesn’t load the console properly. Any ideas on how to fix or I doing something wrong?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
5 answers

Came across the same issue. Very annoying if you use one of the pipe characters in a password. It appears the console is deliberately filtering out pipe characters (<>|).

On a Windows desktop machine you can used the keypad to work around the issue.

Make sure NumLock is on.
Press and hold the Alt key.
On the keypad (NOT the numbers on the qwerty section) enter the following for each character required.

< 060
> 062
| 0124

The leading zero is optional but good practice to use as it’s needed for higher value characters (> 128)

Hey friend!

Thank you for reporting this. It doesn’t seem to be anything you’ve done wrong, I can confirm the same behavior. I’ve made a note to our engineering team about this.

As a side note, you may find SSH to be much more friendly and less awkward for regular usage. The web console has evolved quite a bit over time, and we are continuing to improve on it (adding paste functionality as a recent example). However, it’s purest intention is to be the emergency access that you need if something causes you to be unable to connect via SSH. Right now I’m loving this for a great Windows SSH client:


I encountered the same issue. When I pressed ‘Shift+|’ the character ’>’ , that is the ASCII=62 character was displayed in the DO console window.

My quick workaround was to enter the ASCII printable character code for the 'pipe’ character a.k.a. 'vertical-bar’ from the keyboard.

I was using a Dell Latitude laptop, that has a keyboard where the Fn+F4 is the numlock ON/OFF for the keyboard’s embedded Fn+numeric keypad, but the same workaround should work for any keyboards that has numlock, just substitute in the key presss for numlock ON specific to your keyboard in step 1.

  1. Press Fn+F4 to turn num-lock ON. Confirmed by the numlock icon (Lock with numeric 9) will be lighted. [Once numlock is on, the embedded Fn+numeric keypad is enabled. Pressing Fn+m gives 0, Fn-j gives 1, Fn+k gives 2, ....9Fn+9 gives 9 ]
  2. Hold the Alt-Fn keys down.
  3. Press j+j+u [Numeric ASCII code 123 for the ’|’ symbol.]
  4. Release the Alt+Fn keys.

The ’|’ will be displayed before the flashing cursor on the console screen.

Note: This only works using the 'Alt’ key with numlock. Using the top row of numeric keys does not have the same effect. Entering Alt+n where the n is from 1 to 0 in the top-row of numeric keys within the DO console gives (arg: 1) , Alt-2 gives (arg:2) , …Alt+9 gives (arg: 9, alt+0 gives (arg: 0).

Alternative solution:
In a 3-year old ask ubuntu response 'Ra’ suggested changing one’s keyboard layout for the DO console default '105 INT’. (105-key international). I have pasted 'Ra’s instructions below. It is access device dependent. In my short try I did not find a keyboard mapping that worked but I only tried 2 other Dell keyboard layouts.

$ sudo dpkg-reconfigure keyboard-configuration

 Alternatively, you can set XKBLAYOUT value in the keyboard config file /etc/default/keyboard
 Then, apply the change by running:

$ sudo setupcon

How to figure out the right keyboard configuration?
It is driving me nuts
my keyboard

The last message on this was last year from StefanMueller83, so I thought you might want to know of my more recent experience:

Using the latest version of Linux on my LAMP stack droplet (18.04) led to the Pipe Key error (|). While it worked fine for my ssh terminal, using the DO console window the Pipe Key produced (>).

After messing around FOREVER with the keyboard layout, I found an article which discusses the glitch ( Apparently, the systemd v240 has this glitch and it requires a workaround, or system maintainers to update.

To solve the issue, I reverted my droplet to Ubuntu 16.04, for my production droplet, but will continue to watch for fixes on my build droplets.