Anwendungen auf dem Terminal

Websurfen auf der Konsole

Diesen Post schreibe ich immer weiter, es sind also verschiedene Hardwarestände zu sehen.

Meinen Pi habe ich mal umgestellt [sudo raspi-config], dass der nur noch bis zur Konsole hoch fährt.
Der Pi hat dann 6 Konsolen, tty1-tty6. Umschalten kann man leicht durch [alt]-[links] und [alt]-[rechts].

In der ersten Konsole ist der Benutzer Pi dann schon angemeldet.
Als erstes musste ich das Taststurlayout anpassen auf die deutsche Tastatur, wobei die Systemsprache aber Englisch bleiben soll. (ebenfalls über raspi-config)
Die Samba-Freigabe meines openmediacloud-Servers konnte ich auch einrichten.
Beschreibung: http://www.it-adviser.net/raspberry-pi-windows-freigabe-smbcifs-verbinden/
Dazu habe ich in /etc/bash.bashrc einen Alias ‘bigdata’ eingerichtet, der den mount auf mein zuvor angelegtes Verzeichnis /home/pi/smb macht. Das automatische einhängen in /etc/fstab hat nicht funktioniert: https://www.elektronik-kompendium.de/sites/raspberry-pi/2102201.htm

Als erste Anwendung habe ich den Midnight-Commander installiert. Das ist ein Filebrowser mit starken Funktionen. (sudo apt-get update und sudo apt-get install mc) Gestartet wird der mit mc.

mc

Dieser bringt einen eigenen Editor mit, den mcedit. Der kann Text-Highlighting für verschiedene Programmiersprachen und eignet sich daher gut zum programmieren.

mcedit

Um Fotos gucken zu können gibt es das Programm fbi – Linux framebuffer imageviewer. Das hats gleich gut getan, nur wenn ich die Hilfe aufrufe stürzt es ab. Damit kann ich nun die Bilder auf meinem NAS-Server gucken.
Von fbi gibt es eine ‘improved’-Version, die dann natürlich FIM (fbi improved) heisst. Die hat noch sehr viele Funktionen und Möglichkeiten, die ich im Moment aber nicht brauche.

fbi

Einen Webbrowser brauchte ich auch noch. Ich habe mir einige angesehen, der w3m ist es geworden. Den installiert man mit [sudo apt-get install w3m w3m-img], dann zeigt der auch Bilder an. Ausserdem kann der mehrere Tabs öffnen. Hier sieht man zwei Tabs am oberen Displayrand, Spiegel.de und diesen Blog.

w3m

Man startet w3m gleich mit einer Webadresse, z.B. [w3m spiegel.de]
[strg-t] öffnet einen neuen Tab, [strg-q] schliesst ihn wieder
[{] und [}] wechselt den sichtbaren Tab.
[strg-u] zur Eingabe einer neuen URL
[o] öffnet einen Optionsdialog, [h] einen Hilfedialog. Beide sollte man nur in einem neuen Tab öffnen, da sie sich sonst nicht schliessen lassen.
Ein blinkender Cursor ist frei beweglich, man kann jedoch auch mit [tab] von Link zu Link springen. [Leertaste] und [b] gehen seitenweise vor und zurück.
In Eingabefeldern auf einer Webseite setzt man den Cursor und drückt Enter. Dann gibt man den Text am unteren Bildschirmrand ein und drückt abschliessend wieder Enter.
Das waren so die wichtigsten manchmal schwer zu findenden Infos dazu. Den Rest liest man besser im User Manual.
w3m führt kein Java Script aus, und das will auch niemand auf der Konsole. Das ist also sicheres surfen, wenn auch etwas beschränkt. Funktionsüberladene Webseiten werden nur sehr vereinfacht dargestellt, Foto-Slideshows laufen nicht, mit Glück sieht man das erste Bild.
Also alles eingeschränkt? Kommt drauf an was man will. Ich habe festgestellt, dass man sich viel mehr auf die Textinhalte konzentrieren kann, wenn man nicht mit so viel bunti-bunti Müll zugeschmissen wird.

Die Terminalvariante ist nach einer gewissen Eingewöhnung jedenfalls bedienfreundlich, da man nicht mit Maus, Touchpad oder Touchscreen auf einem kleinen Mini-Display nach den richtigen Symbolen suchen muss. Über die Tastatur lässt sich ein gut gemachtes Terminalprogramm sehr einfach benutzen.

Besonders für Programmierungen direkt auf dem Pi macht das Sinn. Für mich gibts da noch einiges zu entdecken.

Eine interessante Bibliothek für die Entwicklung einer Text – UI ist curses:
https://de.wikibooks.org/wiki/Python_unter_Linux:_Curses
bzw. darauf basierend:
http://urwid.org/

Oder Picotui:
https://github.com/pfalcon/picotui, https://pypi.python.org/pypi/picotui

Python Editor: https://github.com/jonathanslenders/ptpython/

Hier habe ich eine Liste mit interessanten Konsolen-Anwendungen gefunden:
https://ubuntuforums.org/archive/index.php/t-1018054.html
Da die Seite schon sehr alt ist, und alte Seiten gerne verschwinden (diese bezieht sich auf medibuntu, das gibt es schon lange nicht mehr), kopiere ich mal das für mich relevante hier rein:

Part II: Install system tools

The sytem tools will give the user more control with their CLI, such as easier file management and be able to switch between multi-applications. These packages are highly recommmanded.

Install with the code: sudo apt-get install “name of the package” (read app list for detail)

List of system tools:
zsh = A shell with lots of features
screen = terminal multiplexor with VT100/ANSI terminal emulation
vlock = Virtual Console locking program
mc = Midnight Commander – a powerful file manager
vifm = a ncurses based file manager with vi like keybindings
fdisk = Partition editor for Acorn/RISC OS machines
gpart = Guess PC disk partition table, find lost partitions
alsa = ALSA driver
alsa-oss = ALSA wrapper for OSS applications
alsa-tools = Console based ALSA utilities for specific hardware
multitail = view multiple logfiles windowed on console
rdup = utility to create a file list suitable for making backups
pm-utils = utilities and scripts for power management
htop = interactive processes viewer
powertop = Linux tool to find out what is using power on a laptop

The Software below can be install, however, they seem again the :CLiNU style, so they are not recommanded.

None*

Part III: Install applications

Here is the list of applications we are going to run/test on this system sort by category. For testing purposes, all the CLI applications yet found will be installed, however, not all of them will be included in the final produce as core package.

Install with code: sudo apt-get install “name of the package” (read app list for detail)

Accessoris:
espeak = A multi-lingual software speech synthesizer
speex = The Speex codec command line tools
festival = General multi-lingual speech synthesis system
festival-czech = Czech support for Festival speech synthesis system
festival-freebsoft-utils = Festival extensions and utilities
emacspeak = speech output interface to Emacs
emacspeak-ss = Emacspeak speech server for several synthesizers
abook = text-based ncurses address book application
antiword = Converts MS Word files to text and ps
halibut = yet another free document preparation system
tetex-base = TeX Live: teTeX transitional package
tetex-bin = TeX Live: teTeX transitional package
tetex-extra = TeX Live: teTeX transitional package
catdoc = MS-Word to TeX or plain text converter
libwv-1.2-3 = Library for accessing Microsoft Word documents
wv = Programs for accessing Microsoft Word documents
bc = The GNU bc arbitrary precision calculator language
wcalc = A flexible command-line scientific calculator
gnuplot = A command-line driven interactive plotting program
gunplot-mode = Yet another Gnuplot mode for Emacs
gunplot-nox = A command-line driven interactive plotting program
fbgrab = Framebuffer grabber
oleo = GNU spreadsheet program
sc = Text-based spreadsheet with VI-like keybindings
atool = A tool for managing file archives of various types
zip = Archiver for .zip files
rar = Archiver for .rar files
lha = lzh archiver (or jlha-utils = command-line lzh archiver written in Java)
p7zip-full = 7zr file archiver with high compression ratio
cmatrix = simulates the display from “The Matrix”
sl = Correct you if you type `sl’ by mistake
calcurse = text-based calendar and todo manager
qemu = fast processor emulator

The Software below can be install, however, they seem again the :CLiNU style, so they are not recommanded.

**gpm = General Purpose Mouse interface

Games:
bsdgames = a collection of classic textual unix games
bsdgames-nonfree = rogue, the classic dungeon exploration game
gnuchess = Plays a game of chess, either against the user or against itself
netris = free, networked version of T*tris
nethack-console = Text-based overhead view D&D-style adventure game
slashem = A variant of Nethack
angband = A single-player, text-based, dungeon simulation game
dopewars = Make a fortune dealing drugs on the streets of New York
empire = the war game of the century

There are more Games avaliable in CLI, however, they are not packaged with ubuntu, and they be just download and play. Therefore, they are not include on this list. For example:

Vitetris = a terminal-based Tetris clone

Graphic:
zgv = SVGAlib graphics viewer
fbi = Linux frame buffer image viewer
imagemagick = image manipulation programs
caca-utils = text mode graphics utilities
libfreeimage3 = Support library for graphics image formats (library)
tpp = text presentation program

Internet:
elinks = advanced text-mode WWW browser
lynx = Text-mode WWW Browser
links = Web browser running in text mode
links2 = Web browser running in both graphics and text mode
w3m = WWW browsable pager with excellent tables/frames support
gFTP-text = colored FTP client using GLib
mutt = text-based mailreader supporting MIME, GPG, PGP and threading
elmo = text-based mail-reader supporting SMTP and POP3
sendemail = email-from-console sending tool
freetalk = A console based Jabber client
naim = A console client for AOL Instant Messenger and IRC
irssi = terminal based IRC client
finch = text-based multi-protocol instant messaging client
tinyirc = a tiny IRC client
centerim = A text-mode multi-protocol instant messenger client
ekg = console Gadu Gadu client for UNIX systems
newsbeuter = text mode rss feed reader with podcast support
podget = Podcast aggregrator/downloader optimized for cron
Snownews = Text mode RSS newsreader
slrn = threaded news reader (fast for slow links)
rtorrent = ncurses BitTorrent client based on LibTorrent
wget = retrieves files from the web
lftp = Sophisticated command-line FTP/HTTP client programs
ncftp = A user-friendly and well-featured FTP client
curl = Get a file from an HTTP, HTTPS or FTP server
iptraf = Interactive Colorful IP LAN Monitor
cryptcat = TCP/IP swiss army knife extended with twofish encryption
tcpdump = A powerful tool for network monitoring and data acquisition
wireshark = network traffic analyzer
aircrack-ng = wireless WEP/WPA cracking utilities
kismet = Wireless 802.11b monitoring tool

Development:
vim = Vi IMproved – enhanced vi editor
vim-latexsuite = view, edit and compile LaTeX documents from within Vim
vim-not = Vi IMproved – enhanced vi editor
vim-perl = Vi IMproved – enhanced vi editor (transitional package)
vim-python = Vi IMproved – enhanced vi editor (transitional package)
vim-rails = Vi IMproved – enhanced vi editor (transitional package)
vim-ruby = Vi IMproved – enhanced vi editor (transitional package)
vime-tcl = Vi IMproved – enhanced vi editor (transitional package)
vim-runtime = Vi IMproved – Runtime files
vim-vimoutliner = script for building an outline editor on top of Vim
nano = free Pico clone with some new features
emacs = The GNU Emacs editor (metapackage)
cxref-emacs = Generates latex and HTML documentation for C programs
build-essential = Informational list of build-essential packages

There are too many libraries to be listed. Therefore no library are included on this list.

Media:
mplayer-nogui = The Ultimate Movie Player For Linux
vlc-nox = multimedia player and streamer (without X support)
cplay = A front-end for various audio players
mpd = Music Player Daemon
mpc = A command-line tool to interface MPD
ncmpc = text based audio player
mp3blaster = Full-screen console mp3 and Ogg Vorbis player
moc = ncurses based console audio player
cmus = Lightweight ncurses audio player
herrie = Minimalistic audio player built upon Ncurses
orpheus = light-weight text mode menu- and window-driven audio player
abcde = A Better CD Encoder
crip = terminal-based ripper/encoder/tagger tool
shell-fm = console based player for last.fm radio streams
mpg123 = MPEG layer 1/2/3 audio player
sox = Swiss army knife of sound processing
mp3wrap = Utility for MP3 wrapping (rolling multiple MP3s into one)
mp3splt = Splits MP3 and Ogg Vorbis files without reencoding
pytone = Music jukebox with advanced features for DJs and a text-mode user interface
libdvdcss2 = lib needed to play DVD
gstreamer0.10-plugins-* = GStreamer documentation for plugins (complete set)
vorbis-tools = several Ogg Vorbis tools

Eine weitere Liste findet sich hier: https://ubuntuforums.org/showthread.php?t=833627
Besuche auch den Link im ersten Abschnitt:

After hours and hours of reading the “A day without X” And research all the software that is mention in the post I come up with this list.

However, there is still a few thing I would like to ask/un-clear:

Is there a good CLI Latex software?
Can imagemagick be run completely without X?

And at the end, if you get anything good software that you think is useful that is not listed out. Please post it out.

Thanks and enjoy

Linu (Linux without X)

CLI Softwares

Accessoris:
eSpeak – text to speech app
Abook – a text-based addressbook program designed to use with mutt mail client
Antiword – a reader for proprietary Microsoft Word documents.
Live-F1 – a Linux client for viewing the information feed of the offical F1 site
bc – (calculator)
gnuplot – a command-line Program generate 2D/3D dimensinal plots of functions and data
FBGrab – a framebuffer screenshot program
Fbshot – a small program that allows you to take screenshots
pdf2ascii – PDF to ascii software
GNU Oleo – a lightweight free spreadsheet software package.
SC – spreadsheet calculatior
vim-latexsuite – Latex plugin to VIM

Games:
BSD-Games – a collection of the classic text based games
gnuchess – let most moden computer play a full game of chess
Netris – a free, networked variant of Tetris
NetHack – a single-player roguelike computer game originally released in 1987
Slash’EM – (Super Lotsa Added Stuff Hack – Extended Magic)
ADOM – a roguelike game
Linley’s Dungeon Crawl – a free and portable roguelike game
Angband – a dungeon-crawling roguelike computer game derived from Umoria

Graphic:
zgv – a picutre viewer with a thumbnail-based file selector
fbida – a few app for viewing/editing images (fbi, fbgs, ida, exiftran, thumbnail.cgi)
imagemagick – a software suite for image manipulation
Internet:
ELinks – Full-Featured Text WWW Browser
Lynx – a text browswer for the World Wide Web
Links – The WWW Text Browser
Links2 – provides a fas graphics browser that run on Linux console
w3m – a text-based web browser as well as a pager like `more’ or `less’
Mutt – E mail client
Mlmo – a feature-rich, highly configurable and fast mail client
Pine – a Program for Internet News & Email
Freetalk – a console based Jabber client
Naim – a console AIM, ICQ, IRC, and Lily CMC client
IRSSI – terminal based IRC client for UNIX systerms
BitlBee – an IRC instant messaging gateway Licensed under GPL
Finch – the console client that comes with the Linux Pidgin Package
MCabber – a free software client for the Jabber/XMPP instant messging protocol
Centericq – a text mode menu- and window-driven instant messaging interface
CenterIM – a fork of CenterICQ
gaim-text – a text based user interface for Gaim
Ekg2 – an IM client for Unix systems
Raggle – a console RSS aggregator
newsbeuter – a RSS feed reader for the text console
Podget – a simple command line aggregator for podcasts
BashPodder – a podcast client written in bash
Snownews – a console RSS/RDF newsreader
rTorrent – a BitTorrent client
MLDonkey – a multi-platform multi-network peer-to-peer client.
Wget – a program implements simple and powerful content retrieval from web servers Lftyp – a command-line file transfer program(FTP client)
NcFTP – the first alternative FTP client program
Ethereal – a network traffic analyzer, or “sniffer”, for Unix
cURL – a command line tool for transferring files with URL syntax
IPTraf – a console-based network statistic utility for Linux
Cryptcat – a version of netcat with integrated transport encryption capabilities

Programming:
VIM – an advanced text editor
Emacs – an extensible, customizable text editor and more
ncurses – a library providing an API, allowing the programmer to write TUI
Charva – a Java framework for presenting a “graphical” user interface
Media:
MPlayer – a movie player which runs on many systems
VLC – a free cross-platform media player
Cplay – a music player offers high quality audio playback of media files
MPD – Music Player Daemon (MPD) is a database-using music player server
MPC – Music Player Command (mpc), the command line interface to MPD
ncmpc – a curses client for the MPD
Mp3blaster – a mp3 player for computers running a UNIX-like operating system
MOC – a console audio player for Linux/UNIX
cmus – a small and fast console audio Player
Herrie – a minimalistic music player that use command line.
Orpheus – a light-weight text mode menu and window-driven audio player app for CDs
ABCDE – a CD ripper for Linux operated entirely from the command line
BashBurn – a collection of scripts for CD burning in a Linux console
shell-fm – a lightweight console based player for Last FM radio steams.
lastBASH – a console/terminal based player for Last.fm
tagger of lltag – a frontend to tag (and rename) mp3/ogg/flac files automagically.
ogg123 – a command line audio player for Unix
mpg123 – a fast, free, minimalist, console MPEG audio player

System tool:
GNU Screen – a free terminal multiplexer developed by the GNU Project
Midnight Commander – a file manager for free operating systems
Vifm – a ncurses based file manager with vi like keybindings
dvtm – brings the concept of tiling window mangament popularized by X11 to the console
Twin – a textmode window environment
fdisk – hard disk partition table editor programs
gpart – a software utility which scans a hard disk drive
LVM – a logical volume manger for the Linux kernel
alsamixer – the mixer program for the Advanced Linux Sound Architecture
bmom – a portable bandwidth monitor and rate estimator
Multitail – a program for monitoring multiple log files
rdup – a utilty inspired by rsync and the plan9 way of doing backups