Quantcast
Channel: Veni, Vidi, VISA - Software

Neues Terminal zu Ostern

$
0
0
Nachdem ich ein paar Einträge zuvor schon geschrieben habe, das ich mich nach einem neuem Terminal umsehe, bin ich auch fündig geworden. Terminals gibt es ja zurGenüge; Peter hat mir alacritty empfohlen, welches ebenfalls in die nähere Auswahl kam. Geworden ist es dann letztendlich kitty; zumal ich ja eine Katze habe die Kittykatz heißt.. ich hab auch noch eine zweite, aber ich konnte kein Terminal finden das "Durchgeknallte, massenmordende Psychokatze" hieß, also..
Für kitty hab ich mich nicht entschieden weil es deutlich besser ist als alle anderen, sondern weil es einige Features enthält, die ich bei keinem anderem Terminal gefunden habe. Zum einen ist da die einfache Eingabe von Unicode und zum anderen die Möglichkeit sog. kittens zu verwenden. Die Keybindings sind mit CTRL+SHIFT+$foo deklariert und kommen mir somit nicht bei i3-gaps in die Quere. Der Scrollback-Buffer ist ebenfalls vorhanden und die URLs können ebenfalls sehr einfach aufgerufen werden (ohne Rumklicken).
Alles in allem: works for me

Fehlermeldungen richtig lesen und beheben

$
0
0
Im Beitrag Vim 8 und vim-hug-neovim-rpc hab ich geschrieben das das Problem die (falsch) gesetzte Variable PYTHONPATH war und gestern bekam ich eine Mail, in der ich gefragt wurde wie ich darauf kam. Das is eigentlich relativ simpel.
Zuerst gebe ich die exakte Fehlermeldung bei einer Suchmaschine ein bzw. schau auf der Herstellerseite (in dem Fall bei GitHub) nach, ob das ein bereits bestehendes Problem ist. Hier war dem nicht so und Bing/SearX warfen keine brauchbaren Ergebnisse aus; ergo ist Handarbeit angesagt. In der Konfigurationsdatei meiner Shell habe ich dafür mehrere Aliase:
# start mutt/vim/zsh/jed without any setup
alias null-mutt='mutt -n -f /dev/null -F /dev/null'
alias null-zsh='zsh -f'
alias null-vim='vim -u NONE'
alias null-jed='jed -n'
alias null-irssi='irssi --config=/dev/null'
alias null-screen="screen -c /dev/null"

Vim ignoriere ich jetzt erst mal, da auch ein pythonx import neovim in der Shell nicht funktioniert. Ergo gibt es zwei Optionen: Entweder Python oder die Shell. Python stinkt zwar, aber die Defaultinstallation ist so gut wie nie defekt, also wird erstmal null-zsh eingegeben und die Zsh ohne irgendwelche Konfigurationsdatei(en) gestartet und siehe da.. funktioniert. Dann kurz Vim gestartet und auch da funktioniert es, also muss es an der Konfiguration der Shell liegen. Die ist bei mir zwar sehr umfangreich, aber auch in mehrere Dateien aufgesplittet; also wieder raus aus der null-zsh und dann ans Eingemachte. Hier kommen die Vorteile von Tmux und Vim zu Tage (bei letzterem in Verbindung mit dem Plugin NERD Commenter). Da ich i. d. R. kaum freie Window bei Tmux laufen habe, wird mit C-A c eins geöffnet, dort vim ~/.zshrc eingegeben und dann erstmal mit GG an die erste Zeile gesprungen und von da aus mit } weiter zur ersten leeren Zeile. Dort dann mit V}\cc den ersten Abschnitt kommentieren; danach F3 drücken (ist bei mir auf :w ge'map't) um die Datei zu speichern. Jetzt mit C-A v ein neues Window öffnen, pythonx import neovim eingeben und schauen ob das Problem noch immer besteht. Wenn ja, das Window wieder schließen, erneut V}\cc drücken, speichern, neues Window öffnen, usw. Das ganze macht man dann so lange, bis man das Problem auf eine Datei eingegrenzt hat. Die Änderungen in der ~/.zshrc macht man anschließend mit u wieder rückgängig (oder man verwendet mbbill/undotree) oder kommentiert sie einfach wieder aus. Mit dem Nerd Commenter geht das im Visual Mode mit \c<Space>.
In der Problemdatei geht man dann exakt gleich vor; sprich es wird alles kommentiert, nach und nach auskommentiert und bei jedem Mal eine neue Shell gestartet und geprüft ob die Änderungen sich auf die neue Shell ausgewirkt haben. Geht mit Tmux+Vim und ein paar Plugins sehr schnell und einfach.

Vim, Tmux, bracketed paste mode, italics und Easteregg

$
0
0
Für diejenigen, die nicht wissen was bracketed paste ist, hier die Kurzversion: Das Terminal bzw. Programm erkennt und unterscheidet zwischen Tastatureingabe(n) und dem paste. Wenn man z. B. einen Textabschnitt mit Tabs/Einrückungen/$whatever von einer Homepage oder einem anderem Programm kopiert und das dann in den Editor kopiert (mittlere Maustaste oder Strg+v), dann erkennt der Editor das und ändert nichts an der Formatierung.
Voraussetzung ist allerdings ein Terminal das dieses Feature unterstützt, allerdings kommt sogar xterm damit klar, also sollte das kein Problem sein. Vim kann das nämlich schon seit .. k/a.. 7.irgendwas. Man muss also nicht erst lange :set paste eingeben, den Text einfügen und dann :set nopaste aufrufen, sondern kann unabhängig vom aktuellen Mode etwas kopieren und einfügen. Sollte Tmux rumzicken, kann man dem mit folgendem Eintrag in der ~/.vimrc abhelfen:
if &term =~ '^screen'
let &t_BE="\<Esc>[?2004h"
let &t_BD="\<Esc>[?2004l"
let &t_PS="\<Esc>[200~"
let &t_PE="\<Esc>[201~"
endif
Voraussetzung dafür ist aber, das in der ~/.tmux.conf der Eintrag für default-terminal dementsprechend gesetzt ist; bei mir ist das set-option -g default-terminal "screen-256color". Wenn man dann schon dabei ist, kann man auch gleich italics aktivieren (Kursivschrift). Dazu erstellt man einfach eine Datei mit folgendem Inhalt:
screen-256color|screen with 256 colors and italic,
sitm=\E[3m, ritm=\E[23m,
use=screen-256color,
und installiert diese dann mit tic dateiname. Anschließend muss Tmux noch gestartet werden und danach kann man mit
echo -e "\e[1mbold\e[0m"
echo -e "\e[3mitalic\e[0m"
echo -e "\e[4munderline\e[0m"
echo -e "\e[9mstrikethrough\e[0m"
prüfen ob alles richtig dargestellt wird. Sollte das alles funktionieren, einfach mal vim -c :smile eingeben.

Systemd: Mehr als 1,2 Millionen Zeilen Code

$
0
0
Wie aus einer Auswertung von Phoronix hervorgeht, besteht das ursprünglich als Alternative für init vorgestellte systemd aus mehr als 1,2 Millionen Zeilen Code.
Systemd ist ein Daemon für Linux-Systeme, der als init-Prozess als erster Prozess zum Starten, Überwachen und Beenden weiterer Prozesse dient. Das System wurde von Lennart Poettering und Kay Sievers initiiert und findet mittlerweile einen breiten Einsatz in vielen Distributionen. Nachdem die meisten großen Linux-Anbieter Systemd in ihre Produkte aufgenommen hatten, hatten auch andere Systeme über eine Umstellung nachgedacht.

Gänzlich unumstritten ist der Einsatz von Systemd allerdings nicht. Kritiker bemängeln unter anderem, dass die neue Lösung viele Ansätze von Unix verwerfe und einen monolithischen, kaum zu überblickenden Block darstelle, der stetig an Komplexität zunehme, ohne merkliche Vorteile zu bringen. So nennen beispielsweise die Kritiker Systemd einen zweiten Kernel, der sich über das komplette Linux-Okösystem ausbreitet und immer mehr Funktionalität in sich vereine.

Doch auch aus der Sicht anderer Systeme erweist sich Systemd als eine Linux-Insellösung als wenig optimal. So setzen inzwischen einige Anwendungen auf Komponenten von Systemd auf, was beispielsweise die Entwickler unter BSD in Bedrängnis bringt. Denn ohne Systemd lassen manche Anwendungen einige Funktionen missen - im schlimmsten Fall lassen sie sich allerdings nicht einmal starten.

Wie mächtig Systemd mittlerweile geworden ist, zeigt eine Auswertung des Nachrichtenportals »Phoronix«. Wie die Seite diese Woche berichtet, besteht die Alternative für Init mittlerweile aus mehr als 1,2 Millionen Zeilen Code. Noch vor knapp fünf Jahren waren es 600.000 und 2013, drei Jahre nach dem Start von systemd, gerade mal 200.000. Lennart Poettering ist dabei weiterhin die treibende Kraft hinter Systemd. Knapp 37 Prozent der Commits stammen von ihm. Insgesamt haben sich aber bereits 142 Personen sich an der Entstehung von Systemd beteiligt.

Quelle: https://www.pro-linux.de/news/1/27094/systemd-mehr-als-12-millionen-zeilen-code.html


Kann sich noch jemand an die Zeiten von Linux 2.4-2.6.* erinnern? Also als Linux noch wirklich brauchbar und geil war? Der Abfall schafft sich schneller ab als ich gehofft habe.

Nur Ausreden.. Nix wie Ausreden

$
0
0
Im Eintrag Dieses Blog geht demnaechst offline habe ich angedroht das ich auf Jekyll umsteige. So weit, so gut.. Installiert war Jekyll relativ schnell, dokumentiert ist es ebenfalls mehr als ausreichend und Themes gibt es auch genügend. Von denen hat mir nur keins so richtig gefallen, also hab ich mir einige Themen als Anreiz genommen und selbst ein Layout zusammengemurkst. Das hat auch problemlos funktioniert und das Grundgerüst stand innerhalb relativ kurzer Zeit, aber dann...
Die statischen Seiten (/about, /zsh, /rtfm, ..) sind weniger das Problem, da ich die direkt einbinden kann. Was mir wirklich auf die Eier geht, ist die Formatierung des Blogs; sprich die Übersichtsseite, auf der alle Einträge aufgeführt sind und die Blogposts; also der komplette Eintrag. Diese wird in Liquid geschrieben und dann als HTML ausgegeben; weder HTML, noch Liquid ist das Problem; das ist ein viel trivialeres: Ich habe schlicht und einfach nicht die geringste Lust! Null. Niente. ноль. صفر. Aber weniger als überhaupt keine.
Aber.. das hat auch seine Vorteile. Ich hatte jetzt wenigstens mal die Zeit mir eine neue Status-Line für tmux zu bauen, meinen bisherigen PS1 der Zsh gegen powerlevel10k zu wechseln, mir mit New Tab Override ein Startpage für Firefox zurecht zu bauen und anzufangen ~/.zsh/zshfunctions in einzelne functions() aufzusplitten um den Start zu beschleunigen. Das alles selbstverständlich erst, nachdem ich Vim um einige Plugins und Keybindings erweitert hab. Nicht das ich doch noch Lust bekomme um an der Homepage weiter zu bauen.

Videoueberwachung in China

i3: So long and thanks for all the fish

$
0
0
Sodala.. nachdem ich vor gut einem Jahr auf i3(-gaps) umgestiegen bin, hat jetzt auch i3 ausgedient. Mir hat ein Fullscreen-Mode gefehlt; es gibt zwar die Möglichkeit ein Programm mit $mod-f zu maximieren, allerdings verdeckt das Ding dann die Statusbar. Dazu kamen noch einige Kleinigkeiten wie z. B. das für mich zu umständliche Handling der Fenster. Geworden ist es jetzt dwm; und zwar ohne irgendwelche Patches. Die wichtigsten Programme werden via ~/.xinitrc gestartet und mittels der rules automatisch auf dem vorgegebenem WorkspaceTag geöffnet. Ich musste kaum Keybindings umbiegen, sondern konnte mein gewohntes Layout beibehalten. Das einzige das ich bisher vermisse, ist die Systray; es gibt zwar einen Patch dazu, aber ich kann mich nicht wirklich dazu aufraffen den hinzuzufügen. Jetzt geht es erstmal ans Feintuning, das Anpassen von rofi und dem lernen der Keybindings.

Vim 8 und vim-hug-neovim-rpc Teil 2

$
0
0
Nachdem ich vor einiger Zeit schonmal Probleme mit Deoplete hatte, heulte Vim 8.1 heute mal mit
[vim-hug-neovim-rpc] rpc method [nvim_set_client_info] not implemented in pythonx/neovim_rpc_methods.py. 
Please send PR or contact the mantainer.
rum. Als - wenn auch ekligen - Workaround kann man aber pip3 install --user pynvim==0.3.2 verwenden. Dann klappts auch wieder mit Deoplete

Ein weiterer Schritt zur mauslosen Gesellschaft

$
0
0
Nachdem ich im ersten Teil von Ein Leben ohne X11?, sowie im zweiten Teil und auch hier schonmal erwähnt habe, verwende ich meine Maus nur wenn es unbedingt sein muss, da ich fast alle Programme vollständig mit der Tastatur bediene(n kann). Also fast alle; bis auf den Browser. Mittlerweile nutze ich wieder Firefox (mit diversen Addons wie Adblock, NoScript, uBlock, ..) und da gibt es ein Addon, das mich meinem Traum der mauslosen Bedienung einen Schritt näher bringt; nämlich das Addon Surfingkeys.
Ich hatte eigentlich vor hier einige Features aufzulisten, aber das würde den Rahmen sprengen. Am besten einfach mal ein die Schnellanleitung durchlesen. Das einzige das mich nervt, ist das ich es nicht schon eher gefunden habe. Mittlerweile habe ich es seit knapp einer Woche im Einsatz und bin rundherum zufrieden damit.

Das leidige Thema Windowmanager geht in die 42. Runde..

$
0
0
Die Odyssee geht weiter. Von TWM zu CWM, hin zu FVWM, Richtung WindowMaker, dann zu WMI, weiter zu Fluxbox, welcher dann von I3 und der dann von DWM abgelöst wurde (acht Windowmanager in 30 Jahren hält sich ja noch in Grenzen). Mit DWM war ich bis vor kurzen auch ganz zufrieden, aber der mag mich anscheinend nicht. Firefox friert in unregelmäßigen Abständen ein und ich muss dann erst auf einen anderen Workspace wechseln, damit sich Firefox wieder fängt. Dazu kommt das die Tags in der Statusbar nicht "scrollbar" sind; ich schau mir immer wieder Streams an und wenn ich dann zurückgelehnt im Sessel sitze, finde ich es ganz angenehm wenn ich mit dem Mausrad durch die Tags (i. e. Workspaces) scrollen kann. Das ist für mich komfortabler als sich aufrecht hinzusetzen und dann Alt+{1,2,3,..} zu drücken. Es gibt zwar optionale Statusbars, aber ich finde es sinnbefreit static const int showbar auf 0 zu stellen, damit ich eine andere Statusbar installieren/konfigurieren und anschließend starten muss. EWMH ist - selbst mit einem Patch - nur teilweise vorhanden und es gibt keine Konfigurationsdatei. D. h. man muss bei jeder Änderung die Sourcen neu kompilieren und anschließend neu starten. Das wusste ich zwar vorher, aber das es so nervig ist, war mir dann nicht klar.
Also zurück auf Null und nochmal überlegen was der Windowmanager können muss
- Tiling window manager
- einfaches Windowmanagement
- Programme auf einem bestimmten Workspace starten
- Scrollbare und anpassbare Statusbar mit Tray (ggf. auch komplett ohne Statusbar; dann installier ich halt Polybar oder ähnliches)
- Beim Fullscreen die Statusbar nicht verdecken
- Konfigurationsdatei
- Vollständig über die Tastatur zu bedienen (wird eh durch sxhkd ersetzt/vervollständigt)

Heute zwischen den Spielen der Dart-WM (wird bei YouTube von Sport1 gestreamt), werde ich mir mal bspwm ansehen. Sieht ganz vielversprechend aus, zumal sxhkd eh schon läuft.

bspwm for president!

$
0
0
Ich bin eindeutig ein Fan von bspwm! Das ist genau der tiling Windowmanager, den ich gesucht habe und der genau das macht, was ich will und er soll. Nämlich die Fenster verwalten und sonst gar nichts; das dann aber richtig. Der hat sogar Features die ich bisher gar nicht kannte, aber unbedingt gebraucht habe. So kann man z. B. vor dem Öffnen eines Terminal die Größe und den Platz aussuchen (schimpft sich preselection) und jedem Fenster bestimmte Optionen zuweisen. Auf meinem Workspace #2 läuft z. B. Tmux und da brauche ich keinen Rahmen um mein Terminal bzw. will Tmux immer auf diesem Workspace gestartet bekommen. Das is alles kein Problem, denn dazu reicht ein bspc rule -a tmux:tmux desktop=2 focus=on border=off follow=on in meiner ~/.config/bspwm/bspwmrc. Das tmux:tmux ist der Wert von WM_CLASS; damit wird nur ein Terminal mit dieser WM_CLASS abgearbeitet. "focus=on" sorgt dafür das (falls dort schon ein anderes Programm läuft) das Terminal mit diese Klasse den Focus hat und "follow=on" deswegen, damit ich automatisch auf diesen Workspace gewechselt wird.
bspc ist Bestandteil von BSPWM und übernimmt die Konfiguration; damit kann man jedes Window vollständig konfigurieren. Und zwar wirklich vollständig. Das in Verbindung mit sxhkd wird dann richtig Porno, denn man kann jedes Keyevent, das unter xev -event keyboard auftaucht zuweisen. Und zwar nicht nur KeyPress, sondern auch KeyRelease und man kann auch {...} wie in einer Shell verwenden. So muss man nicht
alt + 1
bspc desktop -f 1
alt + 2
bspc desktop -f 2
...
schreiben, sondern kann einfach
alt + {1-9}
bspc desktop -f {1-9}
verwenden. Komplexere Sachen sind auch kein Problem. So sorgt z. B. ein
{super,alt} + {_,shift +} Tab
bspc {desktop,node} -f {next,prev}.local
dafür, das man mit ALT+Tab im Uhrzeigersinn durch die geöffneten Fenster switchen kann und man mit SUPER+ALT+Tab das ganze gegen den Uhrzeigersinn macht (SUPER ist die Windows-Taste). Selbstverständlich kann man auch externe Programme damit kombinieren.
# Window verstecken
super + v
bspc node -g hidden
# Window(s) wieder herstellen
super + shift + v
bspc node {, $(bspc query -N -n .hidden | tail -n1)} -g hidden=off

Will man beim Start von BSPWM zugleich auch Programme starten, schreibt man die einfach in die ~/.config/bspwm/bspwmrc und der Fall hat sich erledigt. Als Statusbar kommt Polybar zum Einsatz, aber die dient nur zur Anzeige des Workspaces, Datum/Uhrzeit, des Tray und meinem Now-Playing.

Bis jetzt bin ich wirklich rundum glücklich und zufrieden; jetzt geht es nur noch ans Feintuning, dem lernen der Keybindings und ggf. noch farblichen Anpassung von Polybar, aber das hat Zeit.

Wieso Firefox nichts dafuer kann wenn er einfriert

$
0
0
In Das leidige Thema Windowmanager geht in die 42. Runde.. habe ich geschrieben, das Firefox ab und zu einfriert und erst wieder reagiert, wenn ich auf einen anderen Workspace und dann wieder zurück wechsle. Das ist mir unter I3, DWM und vor kurzem auch unter BSPWM passiert. Schuld daran war das veraltete Paket xf86-video-intel; nachdem ich das auf 2.99.917+899+gf66d3954-1 aktualisiert habe, funktioniert Firefox 72.01 wieder einwandfrei.. also bis jetzt.

Streiche Jekyll, setze Hugo

$
0
0
Eigentlich wollte ich ja Jekyll einsetzen und habe mich damit auch geraume Zeit rumgeplagt, aber nachdem mir dieses verschissene Stück nichtabwärtskompatiblerundsporadischaktualisiertermoduleundgems-Software zum dritten Mal das Layout zerschossen hat, habe ich es jetzt kurzerhand durch Hugo ersetzt. Da funktioniert die Pagination wenigstens ohne Blutgeschmack im Mund und auch mit Permalinks. Ruby war damals schon Scheisse als mir JoelH erklärt hat wie die Welt funktioniert und ich doof bin. War noch zu Zeiten als busch-hacker noch ein grün/schwarzes cgi-bin - Forum hatte, LSD-Crew und Paketstorm noch eine wirklich geile Exploit-Datenbank hatten und #buha noch einen richtig geilen IRC-Channel hatten; danke dafür das ihr ihn gesperrt habt um allen den Psyc-Dreck aufzuzwingen, den keine Sau haben wollte und noch weniger benötigt wurde.

Hugo, pebcak und yay

$
0
0
Wenn der Bauer nicht schwimmen kann.. liegt das nicht zwingend an seiner Badehose. Ich bin neulich - softwaretechnisch betrachtet - einige Male gegen die Wand gelaufen. Wiederholt. Mit Anlauf. Hugo hat nämlich einen eigenen Server implementiert, mit dem man Änderungen der Seite bequem beobachten kann. Nachdem ich dann das Theme soweit angepasst habe, habe ich mit hugo die statischen Seiten erstellt und diese dann im Browser betrachtet und siehe da.. das CSS wird nicht gerändert. Nach einigem fluchen und missbilligender Blicke meiner Katze(n) hab ich dann kurzerhand lighttpd installiert/konfiguriert und die statischen HTML-Seiten in den Serverroot kopiert habe, siehe da.. kaum macht man es richtig, schon funktioniert es.

Und weil ich es ständig vergesse: Wenn man unter Arch Linux devel-packages installiert rofi-git z. B., dann werden die per Default nicht aktualisiert wenn man yay -Suy eingibt. Will man diese Pakete ebenfalls aktualisieren (sprich das neuste GIT-Commit hinzufügen), dann geht das mit der Option --devel.

Ist auch ihr Kind ein Hacker? So erfahren sie es!!11!

$
0
0
Nutzt ihr Kind Tor? Virtual Machines? Kali Linux? Wifi Pineapple? Discord? Metasploit? Dann zögern Sie nicht und rufen Sie uns an. Wir helfen Ihnen. Ob Sie wollen oder nicht!!11!
Undenkbar? Ja von wegen.. Wondering What Is On A Child's Computer? The United Kingdom's "National Crime Agency" Can Help / UK police deny responsibility for poster urging parents to report kids for using Kali Linux

Da soll noch einmal einer sagen der Brexit hatte nur Nachteile. Wenn England ein Loch wäre, könnte man es wenigstens zuscheissen, aber jetzt kann man nur noch auf die Erderwärmung hoffen damit die absaufen. Aber Greta rettet uns eh alle indem sie Trump so pöhse anguckt. Wahrscheinlich weil die CO2-Bilanz USA und Europa um nur 10% bzw. 16% gefallen ist.. gut.. das die von China im gleichen Zeitraum (seit 2000) um 208% und die von Indien um 155% gestiegen ist, .. ja.. mei..
Jetzt wird erstmal Trump wieder gewählt! Hoffe ich zumindest!





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC