Alle Beiträge von neutrinus

Beat Caveng, Developer bei A-Enterprise GmbH. Blog Author zu den Themen, Python und Open Source. Tutorials zu Python Problemlösungen und Shell Scripts.

Caja launcher as root on Mate desktop

How to create a launcher to open Caja as root on Linux Mate desktop

Here in this post I show a way on how to create a Caja launcher running as root on Mate desktop, I logged in to virtual desktop over vnc viewer, since newer Linux distos no longer include the ability of gksu and gksudo.

Before we create the launcher, some preparations have to be made, to do this with run the command below:

$ sudo cp ~/.Xauthority /root
$ echo "export XAUTHORITY=/home/<user>/.Xauthority" >> ~/.bashrc

  replace user with your real username.

Now create a new launcher with right-click on your desktop.

Open the drop-down menu and choose application in terminal, then insert the command:

sudo -H /usr/bin/caja

into the command field, like see in the screenshot below.

Caja launcher as root on Mate desktop

A double-click will open a terminal in here enter your password to gain root privileges able to run Caja as root.

Mate desktop with Matcha-sea theme on Fedora workstation 30

 Be aware of what you are doing, your action may now result in irrevocable malfunction or destruction of the system.

Caja file manager

Caja is the official file manager for the MATE desktop. It allows one to browse directories, preview files and launch applications associated with them. Caja is also responsible for handling the icons on the MATE desktop. It works on local and remote filesystems.

E-Mail Versenden aus Linux Shell

E-Mails versenden aus CLI und Shell-Scripts

Das Versenden von E-Mails aus der Linux Shell über einen Server ist sehr nützlich, wenn beispielsweise programmgesteuert Benachrichtigungen aus Shell-Scripts oder Webanwendungen generiert werden.

Dieses Tutorial beleuchtet, wie mit dem Mail-Befehl unter Linux E-Mails von der Befehlszeile aus versendet werden. Zur Anwendung kommt Heirloom („mailx“), das verbreitete Open Source Projekt beinhaltet eine Sammlung traditioneller Unix-Dienstprogramme. Ziel ist es, durch praxiserprobte Beispiele mögliche Lösungswege wiederzugeben, es stellt jedoch keine komplette Sammlung umfangreicher Anwendungsmöglichkeiten dar.

mailx – mailutils bei Fedora und CentOS

Damit das E-Mail Versenden aus der Linux Shell möglich ist, muss das Paket mailx, oft auch mailutils auf dem host vorhanden sein, die Bereitstellung unter Fedora und CentOS geht wie folgt:

$ sudo yum install -y mail

heirloom-mailx bei Debian und Ubuntu

Für Debian und Linux Mint oder weitere Ubuntu forkes kann folgendes apt-get command ausgeführt werden:

$ sudo apt-get install heirloom-mailx

Der CLI Befehl mail ist nun in der Shell anwendbar:

$ mail -s "Hello World" email@example.com

Beim ersten Versuch eine E-Mail zu Versenden, erhält man wahrscheinlich gleich mal ein Fehler!

No configuration file found at /home/joe/.esmtprc or /etc/esmtprc

Gelöst wird der Fehler, indem man die Konfigurationsdatei esmtprc erstellt, mit vi oder nano oder dem Editor der Wahl:

$ vi ~/.esmtprc

Ein SMTP-Gateway hinzufügen, dieses es erlaubt von unserem Host E-Mail anzunehmen.

hostname = smtp.example.com:25

Mit dieser Konfiguration wird der Benutzer berechtigt, über smtp.example.com E-Mails zu Versenden. Sollen alle Benutzer berechtigt werden, muss die Datei /etc/esmtprc erstellt und bearbeitet werden.

Gibt es noch ein Fehler! muss ein Relayhost berechtigt werden:

SMTP server problem Connection refused

Es sollen E-Mails von unserem Host angenommen werden, zB. soll das Gateway smtp.example.com über TCP Port 25 E-Mails weiterleiten.

Beim SMTP-Gateway wird, wenn dieses Postfix ist, die Datei main.cf angepasst. Mit sudo die Postfix Hauptkonfiguration main.cf editieren.

$ sudo vi /etc/postfix/main.cf

Bei mynetworks wird die Host IP oder der Hostname hinzugefügt, dieser E-Mails versenden darf.

mynetworks =
        127.0.0.0/8
        [::1]/128
        192.168.2.3

In diesem Beispiel ist 192.168.2.3 unser Host von diesem E-Mails versendet werden sollen.

Die änderung der Postfix Hauptkonfiguration aktivieren:

$ sudo postfix reload

Beispiele Mail versenden in der Befehlszeile

echo "message here" | mail -s "subject" email@example.com < dump.sql.gz

Die klassische Methode ist die Verwendung von sendmail.

$ sendmail -F "Linux host" -f "noreply@example.org" -t 
email@example.org << EOF
Subject: try to test
seems it works.
EOF

Mit sendmail den Inhalt von stats.log an example@email.org senden.

$ (cat /mnt/stats.log) | sendmail -i -- example@email.org

Das Versenden eines zuvor erstellten SQL-Dump, dieser nach der Sicherung zugestellt werden soll.

subnet="$(ip -4 a | grep inet | grep -v 'virbr' | grep -v 'docker' | awk '{print $2}' | grep -v '127.0.0.1')"; ipcalc "${subnet}" | mail -s "${subnet}" hostmaster@example.com

Hier wird die IPv4 Konfiguration mit dem ip-Befehl ermittelt, es wird versucht die virtuellen Interfaceses durch grep und awk auszufiltern.

ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' | mail -s "ifconfig" hostmaster@example.com

ifconfig ist der traditionelle Befehl, dabei muss bei neueren Distributionen das Paket net-utils installiert sein.

hostnamectl | mail -s "my host" email@domain.com

Der Befehl hostnamectl liefert nützliche Informationen, vorhanden bei neueren Linux Versionen.

Der Aufruf man mail zeigt die umfangreichen Möglichkeiten von mailx.