Suche
Suche Menü

Raspi: Chromium ohne Pinch to Zoom starten

Im Kioskbetrieb eines Raspberry Pi mit Touchpad möchte ich das Zoomen per Hand unterdrücken. Dazu müssen folgende zwei Parameter beim Starten von Chromium mitgegeben werden:

--disable-pinch – deaktiviert die pinch-to-zoom Funktionalität

--overscroll-history-navigation=0 – deaktiviert die swipe-to-navigate Funktionalität

Hier mein Beispiel wie ich den Chromium im Kiosk-Modus starte:

/usr/bin/chromium-browser --disable-session-crashed-bubble --disable-infobars --kiosk --no-first-run --incognito --disable-pinch --overcroll-history-navigation=0 'https://web.page'

Windows – SMTP Testing über die Powershell

Um eine SMTP Verbindung ab Powershell zu testen braucht es zwei Befehle die ausgeführt werden müssen:

$creds = get-credential 

Nun erscheint die Aufforderung den Benutzernamen und das Passwort einzugeben. Dieser Werte werden in die Variable $creds gespeichert.

Sobald diese Anmeldeinformationen in der Variablen gespeichert sind, kann der nächste Befehl ausgeführt werden.

Send-MailMessage -From <Absenderadresse> -To <Empfänger> -Subject "Test Email" -Body "Test SMTP Service from Powershell on Port 587" -SmtpServer smtp.servername.ch -Credential $creds -UseSsl -Port 587

Gibt es keine Fehlermeldung, konnte das E-Mail ohne Probleme versandt werden.

Mac: SMTP Testing vom Terminal aus

Um eine SMTP Verbindung zu testen, kann unter Mac das Programm swaks genutzt werden. Dieses ist auch für Linux / BSD verfügbar.

brew install swaks
swaks -tls --to lb@blattertech.ch --from btsrv@blattertech.com --server mail.cyon.ch --auth-user btsrv@blattertech.com

Die Ausgabe:

user@mac ~ % swaks -tls --to lb@blattertech.ch --from btsrv@blattertech.com --server mail.cyon.ch --auth-user btsrv@blattertech.com
Password: 
=== Trying mail.cyon.ch:25...
=== Connected to mail.cyon.ch.
<-  220 mail.cyon.ch ESMTP ready
 -> EHLO btmb02.local
<-  250-mail.cyon.ch
<-  250-SIZE 52428800
<-  250-8BITMIME
<-  250-PIPELINING
<-  250-HELP
<-  250 STARTTLS
 -> STARTTLS
<-  220 2.0.0 Start TLS
=== TLS started with cipher TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128
=== TLS no local certificate set
=== TLS peer DN="/CN=*.cyon.ch"
 ~> EHLO btmb02.local
<~  250-mail.cyon.ch
<~  250-SIZE 52428800
<~  250-8BITMIME
<~  250-PIPELINING
<~  250-HELP
<~  250 AUTH LOGIN
 ~> AUTH LOGIN
<~  334 VXNlcm5hbWU6
 ~> YnRzcnZAYmxhdHRlcnRlY2guY29t
<~  334 UGFzc3dvcmQ6
 ~> NHlDRlR0UWpkNno=
<~  235 2.0.0 OK
 ~> MAIL FROM:<btsrv@blattertech.com>
<~  250 OK
 ~> RCPT TO:<lb@blattertech.ch>
<~  250 Accepted
 ~> DATA
<~  354 Enter message, ending with "." on a line by itself
 ~> Date: Tue, 18 Jul 2023 08:09:44 +0200
 ~> To: lb@blattertech.ch
 ~> From: btsrv@blattertech.com
 ~> Subject: test Tue, 18 Jul 2023 08:09:44 +0200
 ~> Message-Id: <20230718080944.016976@btmb02.local>
 ~> X-Mailer: swaks v20201014.0 jetmore.org/john/code/swaks/
 ~> 
 ~> This is a test mailing
 ~> 
 ~> 
 ~> .
<~  250 OK id=1qLdu8-007MqM-2t
 ~> QUIT
<~  221 s078.cyon.net closing connection
=== Connection closed with remote host.

Examples
Dokumentation

Mac: ip Befehl in Terminal

Um den unter Linux genutzen ip Befehl im Terminal von Mac OS zu nutzen, kann das Paket über brew instaliert werden:

user@mac ~ % brew install iproute2mac
==> Fetching iproute2mac
==> Downloading https://ghcr.io/v2/homebrew/core/iproute2mac/manifests/1.4.1-1
############################################################################################################################################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/iproute2mac/blobs/sha256:eb6014521de7f35e1b16bb7465d9541355d981befff05dfe044291b234cf15a7
############################################################################################################################################################################################################################################### 100.0%
==> Pouring iproute2mac--1.4.1.all.bottle.1.tar.gz
🍺  /opt/homebrew/Cellar/iproute2mac/1.4.1: 6 files, 29.5KB
==> Running `brew cleanup iproute2mac`...

IP Befehl nutzen

user@mac ~ % ip addr show en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 54:46:12:fc:45:12
    inet6 fe80::3636:3bff:fecf:1294/64 scopeid 0x4
    inet 192.168.1.5/24 brd 192.168.1.255 en0

Dokumentation

https://github.com/brona/iproute2mac
https://www.policyrouting.org/iproute2.doc.html
https://lartc.org/howto/

Mac: sudo mit Touch-ID im Terminal

Will man im Terminal beim Ausführen des sudo-Befehls nicht immer das Passwort eingeben, so kann die Touch-ID konfiguriert werden. Die Konfiguration befindet sich in der Datei /etc/pam.d/sudo.

sudo nano /etc/pam.d/sudo

In der Datei nun auf der zweiten Zeile nach «pam_smarcard.do» folgende Zeile hinzufügen:

auth       sufficient     pam_tid.so

Danach die Datei speichern. Nach dem das Terminal neugestartet wurde, erscheint nun die normale Abfrage zur Eingabe der Touch-ID, sobald ein sudo Befehl ausgeführt wird. Mit «Abbrechen» kann jederzeit auch das Passwort eingegeben werden.

Der Inhalt der Datei /etc/pam.d/sudo sieht nach der Anpassung so aus:

# sudo: auth account password session
auth       sufficient     pam_smartcard.so
auth       sufficient     pam_tid.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

Softwareverwaltung über winget

winget ist ein Windowspaket Manager über den ähnlich wie unter Linux Anwendungen installiert und aktualisiert werden können. winget ist der einfachste Weg einen PC aktuell zu halten. In diesem Artikel zeige ich wie winget genutzt werden kann.

Die Verwendung von winget beginnt mit dem Öffnen eines PowerShell-Fensters mit Administratorrechten: Drücken Sie die Windows-Taste + X und wählen Sie dann PowerShell (Admin) oder Terminal(Admin) aus dem Popup-Menü. Da winget ein PowerShell-Befehl ist, verwendet es eine einfache PowerShell-Syntax, um Informationen bereitzustellen oder Aktionen auszuführen.

Ist winget noch nicht installiert, so kann dieses über den Windows Store installiert werden.

Zur Abfrage welche Version installiert ist führen wr diesen Befehl aus.

winget –version

Gibt man winget in der Befehlszeile ein und führt in aus, werden die Optionen zum ausführen angezeigt:

PS C:\Users\lb> winget
Windows-Paket-Manager v1.4.10173
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.

Das “winget”-Befehlszeilenprogramm ermöglicht das Installieren von Anwendungen und anderen Paketen mithilfe der Befehlszeile.

Verwendung: winget [<Befehl>] [<Optionen>]

Folgende Befehle sind verfügbar:
  install    Installiert das angegebene Paket
  show       Zeigt Informationen zu einem Paket an
  source     Verwalten von Paketquellen
  search     Suchen und Anzeigen grundlegender Informationen zu Paketen
  list       Installierte Pakete anzeigen
  upgrade    Zeigt verfügbare Upgrades an und führt sie aus.
  uninstall  Deinstalliert das angegebene Paket
  hash       Hilfsprogramm zum Hashen von Installationsdateien
  validate   Überprüft eine Manifestdatei
  settings   Einstellungen öffnen oder Administratoreinstellungen festlegen
  features   Zeigt den Status von experimentellen Features an
  export     Exportiert eine Liste der installierten Pakete
  import     Installiert alle Pakete in einer Datei

Verfügbare Software auflisten

Mit dem «list» Befehl wird die installierte Software aufgelistet:

winget list

Ausgabe:

PS C:\Users\lb> winget list
Name                                      ID                                        Version          Verfügbar   Quelle
-----------------------------------------------------------------------------------------------------------------------
Bang & Olufsen Audio Control Panel        22094SynapticsIncorporate.BangOlufsenAud… 1.3.98.0
LogiOptionsPowerPointAddin                2C15990041C0A40782166403A24D0F52DFC41095  9.50.19.0
Joplin 2.9.17                             499c114e-8890-5040-9c02-24abe7d3ebe9      2.9.17
LogiOptionsExcelAddin                     5B9DBC017A73395321F758581D1CBC19EA9DF4FF  9.50.19.0
FreeTube 0.18.0                           PrestonN.FreeTube                         0.18.0                       winget
7-Zip 21.06 (x64)                         7zip.7zip                                 21.06            22.01       winget
LogiOptionsWordAddin                      77F95DB8F75F35C40BD868B4D39ADCCB966A0FD1  9.50.19.0
Signal 5.48.0                             OpenWhisperSystems.Signal                 5.48.0           6.15.0      winget
HP Support Assistant                      AD2F1837.HPSupportAssistant_v10z8vjag6ke6 9.25.18.0
HP System Information                     AD2F1837.HPSystemInformation_v10z8vjag6k… 8.10.39.0
Adobe Creative Cloud                      Adobe Creative Cloud                      5.10.0.573
Adobe Notification Client                 AdobeNotificationClient_enpm4xejd91yc     3.0.1.1
Intel® Grafik-Kontrollraum                AppUp.IntelGraphicsExperience_8j3eq9eme6… 1.100.4779.0
ThunderboltTM Kontrollcenter              AppUp.ThunderboltControlCenter_8j3eq9eme… 1.0.36.0
Beyond Compare 4.4.1                      ScooterSoftware.BeyondCompare4            4.4.1.26165      4.4.6.27483 winget
Ubuntu 20.04 on Windows                   Canonical.Ubuntu.2004                     2004.2022.8.0                winget
Ubuntu on Windows                         CanonicalGroupLimited.UbuntuonWindows_79… 2004.2022.1.0
Citrix Workspace 2302                     Citrix.Workspace                          23.2.0.38        23.3.0.55   winget
.....

Alle Programme die in der Spalte Quelle ein «winget» stehen haben, können über winget aktualisiert werden.

Neues Programm installieren

Um ein Programm zu installieren, muss der Befehl winget install [PROGRAMMNAME] genutzt werden. Ist der genaue Programmname nicht bekannt, kann mit winget search [NAME] gesucht werden.

HIer ein Beispiel zu Installation eines Adobe Readers:

C:\Windows\system32>winget search adobe
Name                                         ID                          Version      Übereinstimmung Quelle
-------------------------------------------------------------------------------------------------------------
Adobe Express                                9P94LH3Q1CP5                Unknown                      msstore
Adobe Lightroom                              XPDP264X2DK8NB              Unknown                      msstore
Adobe Acrobat Reader DC                      XPDP273C0XHQH2              Unknown                      msstore
Adobe Fresco                                 XP8C8R0ZKZR27V              Unknown                      msstore
Adobe Creative Cloud                         XPDLPKWG9SW2WD              Unknown                      msstore
Adobe Photoshop Express                      9WZDNCRFJ27N                Unknown                      msstore
Adobe Experience Manager Forms               9ND12RLXTGTT                Unknown                      msstore
Adobe Content Viewer                         9WZDNCRFJBZ1                Unknown                      msstore
Adobe Photoshop Express Toshiba version only 9WZDNCRDFSG4                Unknown                      msstore
Adobe Premiere Elements 2023                 XP8JR4WQQRJMHT              Unknown                      msstore
Avocode                                      Avocode.Avocode             4.15.6       Tag: adobe      winget
Adobe Acrobat Reader DC (64-bit)             Adobe.Acrobat.Reader.64-bit 23.003.20201 Tag: adobe      winget
Adobe Acrobat Reader DC                      Adobe.Acrobat.Reader.32-bit 23.003.20201 Tag: adobe      winget
Adobe DNG Converter                          Adobe.DNGConverter          15.3.1                       winget
Cryptr                                       Adobe.Cryptr                0.5.0                        winget
Brackets                                     Adobe.Brackets              1.14.17770                   winget
Adobe Connect                                Adobe.AdobeConnect          21.11.22                     winget

Mit dem search Befehl wird nun aufgelistet, was alles zum Begriff «Adobe» gefunden wurde. Nun kann ich den Adobe Reader über den Namen in der 2. Spalte installieren:

C:\Windows\system32>winget install Adobe.Acrobat.Reader.64-bit
Gefunden Adobe Acrobat Reader DC (64-bit) [Adobe.Acrobat.Reader.64-bit] Version 23.003.20201
Diese Anwendung wird von ihrem Besitzer an Sie lizenziert.
Microsoft ist nicht verantwortlich und erteilt keine Lizenzen für Pakete von Drittanbietern.
Wird heruntergeladen https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2300320201/AcroRdrDCx642300320201_MUI.exe
  ██████████████████████████████   410 MB /  410 MB
Der Installer-Hash wurde erfolgreich überprüft
Paketinstallation wird gestartet...
Erfolgreich installiert

Installierte Programme aktualisieren

Um alle Programme zu aktualisieren die auf dem PC installiert sind, wird folgender Befehl genutzt:

winget update --all

MySQL Backups auf der Konsole

Mit den Programmen mysqldump und mysql können Backups einer MySQL Datenbank erstellt und wiederhergestellt werden. Dabei spielt die grösse einer Datenbank keine Rolle, was ein unschlagbarer Vorteil im Vergleich zum phpMyAdmin sein kann.

mysqldump

Der Grundaufruf von mysqldump sieht wie folgt aus:

mysqldump -u [USERNAME] --password="[PASSWORT]" [DATENBANK]  > [BACKUP_DATEI_NAME].sql

Mit weiteren Parametern:

mysqldump --no-tablespaces --extended-insert --compress --quote-names --single-transaction --routines --triggers --opt -u [MYSQL_USER] --password="[MYSQL_PW]" [MYSQL_DB]  > [BACKUP_DATEI_NAME].sql

Will man das Backup gleich auch mit gzip komprimieren:

mysqldump --max_allowed_packet=512M --no-tablespaces --extended-insert --compress --quote-names --single-transaction --routines --triggers --opt -u [MYSQL_USER] --password="[MYSQL_PW]" [MYSQL_DB] | gzip -c > [BACKUP_DATEINAME].sql.gz

mysqldump kann auch via SSH Remote ausgeführt werden. Dazu sollte die Ausführung in eine Scriptdatei ausgelagert werden:

ssh -C -f -L$[FORWARD_PORT]:[MYSQL_SERVER]:[MYSQLPORT -p [SSH_PORT] -i [SSH_PRIVATE_KEY] [SSH_USER]@[SSH_SERVER] sleep 5

mysqldump -h 127.0.0.1 -P $[FORWARD_PORT] --max_allowed_packet=512M --no-tablespaces --extended-insert --compress --quote-names --single-transaction --routines --triggers --opt -u [MYSQL_USER] --password="[MYSQL_PW]" [MYSQL_DB] > [BACKUP_DATEI_NAME].sql

Wenn man der Backupdatei ein Datum hinzufügen will, kann dies wie folgt gemacht werden:

mysqldump -u [USERNAME] --password="[PASSWORT]" [DATENBANK]  > `date +%Y.%m.%d-%H.%M.%S`_DATEINAME.sql'

mysql

Um ein Datenbankbackup wiederherzustellen wird das mysql Programm genutzt:

mysql -u [MYSQL_USER] --password="[MYSQL_PW]" [MYSQL_DB] < [BACKUP_DATEI_NAME].sql

Wenn die Backupdatei mit gzip komprimiert ist.

gunzip < [BACKUP_DATEI_NAME].sql.gz | mysql [MYSQL_USER] --password="[MYSQL_PW]" [MYSQL_DB]

Die Datei auf einem Remoteserver wiederherstellen:

gunzip -c [BACKUP_DATEI_NAME].sql.gz | ssh -p [SSH_PORT] -i [SSH_PRIVATE_KEY] [SSH_USER]@[SSH_SERVER] "mysql -h [MYSQL_SERVER] -P [MYSQL_PORT] -u [MYSQL_USER] --password='[MYSQL_PW]' [MYSQL_DB] 

Mac: SSH Server aktivieren/deaktivieren

Der SSH Server auf einem Mac ist standardmässig deaktiviert. Hier eine Anleitung wie er aktiviert und deaktiviert werden kann.

sudo systemsetup -setremotelogin on

Der Status des SSH-Server kann wie folgt geprüft werden:

sudo systemsetup -getremotelogin

Zum deaktivieren des SSH-Servers folgenden Befehl ausführen:

sudo systemsetup -setremotelogin off

Beim deaktivieren wird gefragt, ob der Server wirklich deaktiviert werden soll. Soll diese Frage auch umgangen werden, kann der Befehl mit force ausgeführt werden:

sudo systemsetup -f -setremotelogin off

Nach dem deaktivieren wieder prüfen, ob das Resultat auch entsprechend ist:

sudo systemsetup -getremotelogin

Mac: Spacer / Separator dem Dock hinzufügen

Um das Dock im Mac ein wenig aufzuräumen und die Icon zu gruppieren, können Spacer hinzugefügt werden.

Im Terminal können die Spacer mit folgenden Befehlen hinzugefügt werden:

Normaler Spacer:

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}'; killall Dock

Schmaler Spacer:

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="small-spacer-tile";}'; killall Dock

Quelle

Mac: einen Private Key zum Schlüsselbund hinzufügen

Der native SSH Client von MacOS X kann den Schlüsselbund verwenden um auf das Passwort desselben zugreifen zu können.
Um den Private Key zum Schlüsselbund hinzuzufügen verwende folgenden Befehl:

ssh-add -K /pfad/zum/private/key

Wenn der Private Key unter .ssh abgelegt ist und den Namen id_Mac hat, muss folgender Befehl verwendet werden:

ssh-add -K ~/.ssh/id_Mac

Anschliessend muss das Passwort des Private Keys eingegeben werden. Anschliessend kann dieser Private Key ohne Passwort verwendert werden.