I am using the "-vo caca" option in order to be able to play a video in the terminal. However, mplayer is opening up a window in which the video runs. Is there any way to make it play in the console window (to have it filled)? I am using Linux Mint 16.


No. Mplayer can run using the the linux kernel framebuffer, which if you are on one of the virtual consoles (these are tty devices, and they are not the same as what's used in a GUI terminal) makes it seem as if it's running "in the console" because, of course, that's the entire screen. But it's not running in the console, it's running in the framebuffer, which takes the screen.

If you are using a GUI desktop, you have an X server running, and it controls the screen, so you cannot use the framebuffer at the same time (although you can switch back and forth to a VT and use the framebuffer there). Mplayer detects this context and adapts itself accordingly.

  • I see... That must be it then. Thank you very much. – Vintage Apr 14 '14 at 13:16

Yes, simply unset DISPLAY variable:

unset DISPLAY; mplayer -vo caca path_to_videofile


DISPLAY= mplayer -vo caca path_to_videofile

But I found that it works slower.

Update: I found out that rxvt-unicode terminal is fast enough.

Also this link http://helpful.knobs-dials.com/index.php/Aalib,_caca might be helpful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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