FreeBSD on only TTY as a Daily Driver

Hello everyone, hope everyone is doing fine with the holidays.

I'm using FreeBSD for a years by now and something that I noticed for my usage is that I only use applications that works perfectly fine on TTY sessions, I don't like cluttering or using the mouse (yes, I could use a tilling window manager or something like that) but my work doesn't require me to do that. I can always power-on an simple Desktop environment on my Linux machine that is at my home. With that introduction, I would like to ask some suggestion (mainly if you use FreeBSD as a server or something that is somewhat align with I'm planing to do next year).

Currently I'm thinking on using Emacs (my main text editor), Tmux for handling multiple tabs (I don't really like the buffers that emacs make but I should get used to it, maybe it will less the need of Tmux) and the whole C/C++ dev tools.

I don't need to do calls, e-mails I read from my smartphone and when I need to do some research on the web I also use my phone. If anyone is interest in discussion such use case, let's start a conversation where.

The problems that I faced until now is: Playing music, reading pdf files (I know pdf wasn't desing to be read from a tty but the man pages for the c stdlib works fine) and submitting patches (setting in terminal e-mail client is something that I'm not currently knowing how to do) any adivces or information about this topics would be very helpfull and I think it's a good idea if you like to use just a black screen with your work.

Thanks in advance.
Best regards,
Candinho, G. A>
 
I intend to run freebsd in a tty session environment as well for a daily driver.

To be honest I am not confident that it works out of the box as a solution for desktop and mobile computing as many in this community fully know.

So currently I run a dual boot of freebsd and arch linux on 1 mobile workstation and windows on another mobile workstation.

At home I also run windows on a server-grade desktop workstation but it is designed for heavy storage so I can also dual boot freebsd here.

Maybe a suggestion for future FreeBSD development is a world class solution to connect to our smartphone and mobile devices
 
Stupid google AI answer,

Connecting a FreeBSD system to an Android device can be achieved through several methods depending on whether you need file access, internet sharing (tethering), or device control.

1. File Transfer & Browsing

To access your phone's storage from FreeBSD, you can use the Media Transfer Protocol (MTP) or network-based tools:

  • USB (MTP): Install sysutils/fusefs-simple-mtpfs or sysutils/fusefs-jmtpfs.
    • Load the FUSE module: kldload fusefs.
    • Connect the phone and set its USB mode to File Transfer.
    • Mount the device: simple-mtpfs /mnt/android.
  • KDE Connect: A powerful wireless option for syncing notifications, clipboards, and files. Install deskutils/kdeconnect-kde on FreeBSD and the KDE Connect app on Android.
  • Syncthing: For continuous background file synchronization over Wi-Fi, install net/syncthing on FreeBSD and the corresponding app on Android.

2. USB Tethering (Internet Sharing)

To use your Android phone’s data connection on FreeBSD via USB:

  1. Load Driver: Run kldload if_urndis to load the USB Remote NDIS driver.
  2. Enable Tethering: Connect the phone and enable USB Tethering in Android settings.
  3. Configure Interface: A new network interface (usually ue0) will appear. Obtain an IP address by running dhclient ue0.
  4. Persistence: To load the driver automatically at boot, add if_urndis_load="YES" to /boot/loader.conf.

3. Remote Control & Development

  • Screen Mirroring (scrcpy): You can view and control your Android screen from FreeBSD using comms/scrcpy. This requires enabling USB Debugging in your phone's Developer Options.
  • ADB Tools: Install devel/android-tools to use the Android Debug Bridge (adb) for side-loading apps or accessing the Android shell.
  • SSH Access: Install Termux on Android to run an SSH server, allowing you to ssh into your phone from FreeBSD or mount its filesystem via fusefs-sshfs
 
Ironically Apple and iOS is closer to us in the Unix tree than Android is with Linux. But both would be ideal

I haven’t setup email yet. The handbook and man pages look ideal for this venture. mali(1) piqued my interest because it was developed directly from Unix version 1

 
The www/links browser is worth a try for text mode web browsing; I use it all the time. It has a graphical mode for use on X11 too (links -g).

Screenshot_20251231_154715.jpg
 
I intend to run freebsd in a tty session environment as well for a daily driver.

To be honest I am not confident that it works out of the box as a solution for desktop and mobile computing as many in this community fully know.

So currently I run a dual boot of freebsd and arch linux on 1 mobile workstation and windows on another mobile workstation.

At home I also run windows on a server-grade desktop workstation but it is designed for heavy storage so I can also dual boot freebsd here.

Maybe a suggestion for future FreeBSD development is a world class solution to connect to our smartphone and mobile devices
> "Works out of the box as a solution for desktop and mobile computing"
I'm not sure what you mean, the FreeBSD community is currently working very hard on support for wireless/bluetooth devices. I have installed FreeBSD on newer Intel CPU's (13º gen) without any problem.


About smartphone and mobile devices, I agree with the answer by Alain De Vos you can even use adb if you want to. (mtp sometimes doesn't work even on Linux for some strange reason).
 
I spend much of my time in text mode, usually in an Xterm under LXDE and am climbing the learning cliff of emacs, although I've recently found it is less steep in doom emacs. tmux is something I wish had come across ten years ago rather than relatively recently.

One thing I would like to find is a good text mode program for playing music. I have mpg123, but would like to have something which handles more formats. Any recommendations?
 
I spend much of my time in text mode, usually in an Xterm under LXDE and am climbing the learning cliff of emacs, although I've recently found it is less steep in doom emacs. tmux is something I wish had come across ten years ago rather than relatively recently.

One thing I would like to find is a good text mode program for playing music. I have mpg123, but would like to have something which handles more formats. Any recommendations?
I use mplayer. That may work for you as well.

Edit: you can also output video to a framebuffer with mplayer.

Edit again: So, I guess not on the framebuffer I was just reading the manual and apparently that doesn't work. https://man.freebsd.org/cgi/man.cgi?query=mplayer&manpath=ports
 
One thing I would like to find is a good text mode program for playing music. I have mpg123, but would like to have something which handles more formats. Any recommendations?

I use a script around mplayer.

I think VLC has a competent terminal mode, too.

Both can also play video in ASCII mode.
 
My server is TTY only. But while also I do most of my stuff in shell only, my user's workstation setup is not pure TTY but with a simple window manager (WM), because:
a) shell usage is more comfortable this way: multiple terminals on the same screen, larger terminals possible while easier to pick/change font and size etc.
b) for some things I need some graphical capability: showing pictures (feh and ImageMagick are CLI tools), watch movies (mpv), webbrowser (you can browse the net graphicless with lynx for example), or view PDFs/PSs (zathura).
Viewing PDFs is kind of graphics.

I'm not quite sure if this is all possible without any X server (or Wayland) at all, but pure TTY only. I guess not.
But anyway to me it's just way easier to set up and run a simple WM than to try hard to avoid any GUI at all cost.

You don't have to install a whole desktop environment and all the garbage it comes with. Above all you don't have to use all of its features. Just pick and install a simple WM (maybe one that can be controlled completely mouseless with the keyboard), and maybe strip it down to the max (most WMs come by default with not much that can be stripped :cool:) Or just simply stay with twm which comes with X by default in the first place.
All you need to configure was to set up xterm: the font to a better suiting one, background and foreground color.
You may comment the last lines in your ~/.xinitrc and add:
xterm -fullscreen -fg \#999999 -bg \#001000 -fn "-adobe-courier-medium-r-*-*-24-*-*-*-*-*-*-*"
and off you go.
You may change the windows title bar's colors, and pick another wallpaper, maybe add/edit some key combinations to your WM's config, to open new terminal windows by keys. But then you have it: Terminal usage only, with graphics capability.

Anyway this will be done easier and quicker than searching, experimenting, and fiddling to get some graphics capability in a non graphical environment.
 
for music there are a lot of tui one that work nicely. i love my tuis :) i think i have tui equivalent for almost anything but the browser (i know i could use w3m or lynx or some modern ones but i guess i'm lazy on that front)
as mentioned before: moc, cmus or mpc/ncmpcpp clients for mpd
i'd add: kew (some nice artwork ascii display), musikcube, tap

i use tmux a lot but recently was experimenting a bit with zellij and it's a nice alternative i think.
fwiw,
best,
yrs trly
 
I highly recommend the default versatile UNIX reminder service (CALENDAR) as a daily calendar. It has everything from appointments to recurring events, search-able archived events and cross-device synchronization (Unison).
 
There was a time I used the tty exclusively, before having a job while at the univ.

I don't see myself checking the smartphone everytime. It's the less exciting piece of hardware I have. I prefer checking Whatsapp/Telegram from my laptop.
 
reading pdf files
Regarding reading PDFs in console, there is graphics/poppler-utils "pdftotext" tool ( pdftotext my.pdf - | less)

Or misc/lesspipe. Make sure to read the post-install message or pkg info -D lesspipe.

I can view videos and still images with multimedia/mpv running in console framebuffer only (drm-kmod driver required), no xorg or wayland. I haven't tested it, but it might be possible to view PDFs (including images) via mpv with the help of https://github.com/jgreco/mpv-pdf in the consoles framebuffer .
 
Regarding reading PDFs in console, there is graphics/poppler-utils "pdftotext" tool ( pdftotext my.pdf - | less)

Or misc/lesspipe. Make sure to read the post-install message or pkg info -D lesspipe.

I can view videos and still images with multimedia/mpv running in console framebuffer only (drm-kmod driver required), no xorg or wayland. I haven't tested it, but it might be possible to view PDFs (including images) via mpv with the help of https://github.com/jgreco/mpv-pdf in the consoles framebuffer .
i use zathura with the pdf plugin, but it opens it graphically (i am under i3).
anybody tried in full tty?
 
i use zathura with the pdf plugin, but it opens it graphically (i am under i3).
anybody tried in full tty?
I have tried just now, zathura depends on X11 (or some compatibility layer on top of Wayland):

Code:
...
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x45a3b5b1000)
...

ldd output of the zathura bin file.
 
I can't imagine doing all the web browsing on a phone. Just decent adblocking can be a challenge.
I really don't web browsing that much to be fair, Hacker News, this forum or some random blog now and then. But you are a heavy web user I can see this being a problem.

If I would have to search a lot on a smartphone I would be really sad, it isn't comfortable on the long run.
 
Back
Top