====== Computer neu aufsetzen ====== Um Elektronik-Projekte vernünftig umsetzen zu können, sind Computer und Internet ein zentrale Werkzeuge. Dabei setzt die ElektronIQ soweit wie möglich auf [[wpde>Open_Source|Open Source]]. Das Betriebssystem der Computer an den Arbeitsplätzen ist Debian-Linux. Zur Entwicklung von Elektronik kommen [[wpde>Kicad]], [[wpde>gEDA (Software)|Geda]] und [[wpde>Eagle (Software)|Eagle]] zum Einsatz. Die Arbeitsplatz-Computer wurden nach dem folgenden Rezept aufgesetzt. Ein zentraler Teil ist dabei die [[computer_neu_aufsetzen:start#pakete_aus_dem_debian-repo|Liste der installierten Debian-Pakete]]. ===== DHCP vorbereiten ===== Der DHCP-Server des Instituts bedient nur Maschinen mit bekannter MAC-Numer. Die MAC-Nummer ist ablesbar im Output von ip: ip link Dazu kann man ein Live-Linux von einem USB-Stick booten. Von Debian gibt es Live-Images, die gleich mit einem Installer kombiniert sind. Man findet sie unter [[https://www.debian.org/CD/live/]] . Die Liste mit den im Institutsnetz erlaubten MAC-Adressen findet sich in: ''/afs/iqo.uni-hannover.de/system/dhcpd/input/*''\\ (kann nur von Admins bearbeitet werden.) ===== Eine Install-Stick gravieren ===== Für Debian-Installation spielt bei 64-Bit-Systemen der Unterschied zwischen Intel und AMD keine Rolle. Für beides ist "amd64" richtig. In jedem Fall brauch man ein Iso-Image mit einem Debian-Installer * Für stable gibt es einen Link zu einem ISO-Image auf der Seite http://www.debian.org/distrib/netinst * Live-System vom aktuellen Stable mit XFCE und nonfree-Treibern (3.0 GB): http://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/ * Für testing gibt es auf dieser Seite ein Iso-Image: https://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/ * Für testing empfiehlt Debian den Download mit jigdo-lite. Und das ist im Paket jigdo-file: apt install jigdo-file Anleitung für jigdo: http://www.debian.org/CD/jigdo-cd/index.en.html jigdo-lite http://cdimage.debian.org/cdimage/weekly-builds/amd64/jigdo-cd/debian-testing-amd64-netinst.jigdo alternativ: jigdo-lite ./debian-testing-amd64-netinst.jigdo Das so beschaffte Iso-Image wird auf den nicht gemounteten Stick geschrieben((Empfehlungen, das mit dd zu tun sind obsolet. Seit etwa 2020 geht auch ein normales cp)): sudo cp debian-irgendwas-amd64-netinst.iso /dev/sdg sudo sync ===== Base-Install ===== * vom USB-Stick booten * graphic-Install wählen * die ganze Platte für das neue System verwenden. Dabei LVM einrichten lassen, damit die Partitionen später leichter geändert werden können. * Bei den Mirror-Repositories "ftp.uni-hannover.de" auswählen * Neustart * lokal als Root einloggen * ssh-Server installieren → tasksel → SSH-Server * Von einem voll installierten Desktop-Rechner aus mit ssh als lokaler User einloggen ===== Wenn der Boot lange mit schwarzem Bildschirm hängt... ===== ... dann versucht das System wahrscheinlich einen Systemzustand wiederherzustellen, den es nicht gibt. Nach einer halben Minute bricht es dann ab mit dieser Meldung in /var/log/boot.log: "Gave up waiting for suspend/resume device" Mit einem zusätzlichen Boot-Parameter "noresume" in ''%%/etc/default/grub%%'' kann das vermieden werden: ''%%GRUB_CMDLINE_LINUX_DEFAULT="quiet noresume"%%''\\ Danach grub neu initialisieren lassen mit: ''%%update-grub%%'' ===== Root netter benutzbar machen ===== su # zum Super-User mutieren apt install vim # vi für Warmduscher In ''/root/.bashrc'' die für root wesentliche Pfade ergänzen: export PATH=$PATH:/sbin:/usr/sbin:. (Bei der Gelegenheit in .bashrc die aliase entkommentieren und Farben aktivieren.) ===== ssh von anderen Rechnern erlauben ===== In [[file:///etc/ssh/sshd_config|/etc/ssh/sshd_config]] : : PermitRootLogin yes GSSAPIAuthentication yes GSSAPICleanupCredentials yes #GSSAPIStrictAcceptorCheck yes GSSAPIKeyExchange yes UsePam yes X11Forwarding yes # Allen Usern ssh-Zugang erlauben, die zur Institutsgruppe iqo gehören # (Muss ganz ans Ende der config-Datei) Match group iqo AllowUsers * Die Services sshd und winbind neu starten, damit die Konfig auch gelesen wird : systemctl restart sshd winbind ===== Paket-Sourcen festlegen ===== $ vi /etc/apt/sources.list # /etc/apt/sources.list von XXXXXXX # aufgesetzt am XXXXXXXXX durch XXXXXXXX ### oldstable deb http://ftp.uni-hannover.de/debian/debian/ oldstable main non-free non-free-firmware contrib deb-src http://ftp.uni-hannover.de/debian/debian/ oldstable main non-free non-free-firmware contrib ### stable deb http://ftp.uni-hannover.de/debian/debian/ stable main non-free non-free-firmware contrib deb-src http://ftp.uni-hannover.de/debian/debian/ stable main non-free non-free-firmware contrib ### urgent upgrades for stable deb http://deb.debian.org/debian stable-updates main non-free non-free-firmware deb-src http://deb.debian.org/debian stable-updates main non-free non-free-firmware ### security patches for stable deb http://deb.debian.org/debian-security/ stable-security main non-free non-free-firmware deb-src http://deb.debian.org/debian-security/ stable-security main non-free non-free-firmware ### testing deb http://ftp.uni-hannover.de/debian/debian/ testing main contrib non-free non-free non-free-firmware deb-src http://ftp.uni-hannover.de/debian/debian/ testing main contrib non-free non-free-firmware ### unstable #deb http://ftp.uni-hannover.de/debian/debian/ unstable main contrib non-free non-free-firmware #deb-src http://ftp.uni-hannover.de/debian/debian/ unstable main contrib non-free non-free-firmware ### experimental #deb http://ftp.uni-hannover.de/debian/debian/ experimental main contrib non-free non-free-firmware #deb-src http://ftp.uni-hannover.de/debian/debian/ experimental main contrib non-free non-free-firmware Anschließend die Datenbank der Pakete erneuern: $ apt update $ apt upgrade ===== Englische und Deutsche Sprach-Einstellungen ===== dpkg-reconfigure locales im Dialog diese beiden locales auswählen: de_DE.UTF-8 en_GB.UTF-8 Keine der beiden als Default markieren (sonst nimmt lightwm das falsche Tastatur-Layout) ===== Locales und Zeitzone automatisiert einstellen ===== übernommen von [[http://serverfault.com/questions/362903/how-do-you-set-a-locale-non-interactively-on-debian-ubuntu]] # Configure timezone and locale echo "Europe/Berlin" > /etc/timezone && \ /usr/sbin/dpkg-reconfigure -f noninteractive tzdata && \ sed -i -e 's/# en_US.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen && \ sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && \ echo 'LANG="de_DE.UTF-8"'>/etc/default/locale && \ /usr/sbin/dpkg-reconfigure --frontend=noninteractive locales # update-locale LANG=de_DE.UTF-8 # Zeitzone überprüfen timedatectl ===== Wenn Firmware fehlt ===== Wenn es Beschwerden über fehlende Firmware gibt, dann kann man sie möglicherweise händisch hinzufügen. - Nur die Warnungen selbst anzeigen: ''sudo update-initramfs -u -'' - wget installieren: ''%%apt install wget%%'' - Download: ''%%wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/FOO/BAR%%'' - An die richtige Stelle kopieren: ''%%sudo cp BAR /lib/firmware/FOO/BAR%%'' - einbinden: ''%%sudo update-initramfs -u%%'' Anschließend sollte beim Boot die Firmware nicht mehr als fehlend bemeckert werden ===== Kerberos einrichten ===== (laut: [[https://iqwiki.iqo.uni-hannover.de/doku.php?id=it:configuration_stuff:configurekerberos:start]]) - Kerberos installieren: ''%%apt install krb5-user krb5-auth-dialog%%'' - ''%%/etc/krb5.conf%%'' durch den folgenden Inhalt ersetzen: [libdefaults] default_realm = IQO.UNI-HANNOVER.DE dns_canonicalize_hostname = false ticket_lifetime = 24h forwardable = true [realms] IQO.UNI-HANNOVER.DE = { kdc = kerberos.iqo.uni-hannover.de:88 admin_server = kerberos.iqo.uni-hannover.de:749 default_domain = iqo.uni-hannover.de } [appdefaults] pam = { debug = false ticket_lifetime = 1d renew_lifetime = 7d forwardable = true krb4_convert = false krb4_convert_524 = false krb4_use_as_req = false null_afs = false } [domain_realm] .iqo.uni-hannover.de = IQO.UNI-HANNOVER.DE ===== AFS einbinden ===== # Anleitung in: [[https://iqwiki.iqo.uni-hannover.de/doku.php?id=it:configuration_stuff:configurekerberos:start]] - ''%%apt install openafs-client openafs-modules-dkms openafs-krb5 krb5-user%%'' - openafs neu starten: ''%%systemctl restart openafs-client%%'' ==== AFS testen ==== kinit NAME # Ein Kerberos-Ticket anlegen (NAME erstzt durch einen Login-Namen) aklog # Ein AFS-Token beschaffen klist # Token anzeigen ls -l /afs/iqo.uni-hannover.de # sollte ein paar Ordner anzeigen ==== Home aus dem AFS beziehen ==== Nur sinnvoll, wenn sämtliche User-Daten auf dem Server vorgehalten werden sollen. Lokale Daten funktionieren nur mit Usern, die in LDAP ''%%/home/NAME%%'' eingetragen haben. - Das alte Home aus dem Weg schaffen: ''mv /home /home_local'' - Stattdessen einen Link ins AFS anlegen: ''ln -s /afs/iqo.uni-hannover.de/user/ /home'' ===== Login mit LDAP und PAM ===== Anleitung [[https://iqwiki.iqo.uni-hannover.de/doku.php?id=it:configuration_stuff:configureldap:start|im IQwiki]] - ''%%apt install winbind%%'' -- fragt nach, ob von DHCP übergebene Zusatz-Info genutzt werden soll → ja - ''apt install samba'' -- wird gebraucht, damit winbd nach dem Boot zur richtigen Zeit startet - ''%%/afs/iqo.uni-hannover.de/system/sbin/domain_join%%'' -- Christians Einrichtescript ausführen - Das Debian-Script ''%%/usr/sbin/pam-auth-update%% '' ausführen. Im Menü die folgenden beiden Punkte abwählen * ☐ Register user sessions in the systemd control group hierarchy * ☐ Create home directory on update - Diese beiden Punkte sollten ausgewählt sein: * ☑ AFS session management * ☑ Unix authentication ===== SASL-Test (was testet das?) ===== apt install sasl2-bin testsaslauthd -u kaimartin -p PASSWORT ===== Mehr Software ===== ==== Pakete aus dem Debian-Repo ==== apt install aptitude ; # aptitude kommt manchmal weiter, wo apt sich verheddert. aptitude update ; apt install sudo ; apt install firmware-linux-free firmware-linux-nonfree; # Texteditoren apt install vim ; # vernünftiger vi apt install pluma ; # fork von gedit apt install mousepad ; # spartanisch apt install bluefish ; # luxus apt install emacs elpa-org ; # nerdy apt install retext ; # simpel für Markdown apt install ghostwriter cmark hspell libtext-multimarkdown-perl ; # luxus für Markdown # mit GTK3 kompatible Widget-Themes apt install gtk3-engines-xfce ; apt install clearlooks-phenix-theme ; apt install murrine-themes ; # Einige Icon-Themes apt install gnome-colors ; # einige Standard-Themes von Gnome apt install numix-icon-theme ; # flaches Icon-Theme apt install papirus-icon-theme ; # sehr flaches Icon Theme apt install suru-icon-theme ; # Icon-Theme von Ubuntu-Touch apt install lxde-icon-theme ; # Default Icon-Theme von lxde # Alle desktop-icon-themes, die Debian anbietet apt install `apt-cache search --names-only -q icon-theme |awk '{ print $1 }'` ; apt install bibata-cursor-theme ; # Moderner Mauszeiger, der bis zu 96 Pixel groß werden kann # Desktop-Werkzeuge apt install ding ; # offline-Wörterbuch deutsch-englisch apt install zim ; # UI für Notizen apt install gir1.2-gtksource-4 ; # wird vom Source-Plugin von zim gebraucht apt install galculator apcalc wcalc ; # "Taschenrechner" apt install xfce4-clipman xfce4-clipman-plugin # Zugriff auf ältere Selections apt install filelight baobab ; # graphische Anzeige, wo der Speicherplatz verteilt ist apt install ranger w3m-img; # File-Manager fürs Terminal apt install krusader; # File-Manager von KDE apt install krename kompare kget ; # wird von krusader benutzt apt install cairo-dock cairo-dock-gnome-integration-plug-in ; # desktop UI similar to apple apt install qt4-qtconfig ; # to make qt applications happy apt install krb5-auth-dialog ; # button for the kerberos tickets apt install zsh zsh-doc fish; # shells for nerds apt install arj rar unace unrar rpm lhasa ; # diverse zusätzliche Pack-Utensilien apt install gnuplot gnuplot-qt feedgnuplot labplot; # graphische Darstellung von Daten apt install git-lfs # große Dateien mit git apt install firefox-esr chromium falkon konqueror; # Diverse WWW-Browser apt install myspell-de-de ; # deutsche Rechtschreibung für firefox apt install gftp ; # FTP-Client apt install okular atril evince ; # PDF-Viewer apt install xournal; # Anmerkungen, Korrekturen und so weiter in PDF apt install pdftk ; # um einzelne Seiten aus einem PDF-Dokument zu extrahieren apt install poster posterazor; # um PDF-Dokumente zu skalieren und/oder auf mehrere Seiten zu verteilen apt install pdfgrep ; # um mit der Komandozeile in PDF-Dokumenten suchen zu können apt install poppler-utils ; # viele Utilities für PDFs apt install flpsed ; # um PDFs mit Anmerkungen versehen zu können apt install libtiff-tools ; # Werkzeuge für TIFF-Grafiken apt install texlive texlive-science texlive-generic-extra texlive-latex-recommended texlive-latex-extra ; # LaTeX apt install texlive-fonts-recommended texlive-fonts-extra; # mehr LaTeX apt install preview-latex-style apt install texlive-lang-english texlive-lang-german texlive-lang-french texlive-lang-european ; # Sprach-Pakete für LaTeX apt install texlive-publishers ; # LaTeX-Dokumentstile von diversen großen Verlagen apt install lyx fonts-lyx ; # graphisches Frontend für LaTeX apt install biber ; # Latex-Literaturverwaltung apt install korganizer ; # Kalender-APP, die mit dem IQO-Kalender synchronisiert apt install libreoffice ; # Office-Anwendungen apt install libreoffice-l10n-de libreoffice-l10n-en-gb ; # englisches und deutsches Sprachpaket für Libreoffice apt install libreoffice-gtk3 ; # damit Libreoffice sich an die Style-Vorgaben des XFCE-Desktops hält apt install hyphen-de hyphen-en ; # Worttrennungen für Libreoffice apt install mythes-de ; # deutscher Thesaurus für Libreoffice apt install openclipart ; # Bildchen und Icons zum Einbinden in libreoffice apt install pandoc ; # konvertiert unter anderem libreoffice nach latex apt install scribus; # Desktop-Publishing apt install finger epstool coreutils tree ; # nützliche Commandline Tools apt install hardinfo lshw-gtk hwinfo screenfetch; # zeigt erkannte Hardware an apt install gparted ; # Partitionierung und Formatierung von USB-Sticks, SSDs, etc. apt install playonlinux ; # wine-Umgebung mit funktionaler Multiarch-Konfigration apt install winetricks mono-complete ; # unterstützende Pakete für wine apt install glabels printer-driver-dymo ; # um Dymo-Schilder ausdrucken zu können ## Bilder apt install inkscape xfig psutils pstoedit ; # Vektorgrafik apt install gimp imagemagick ; # Pixelgrafik apt install gpick ; # Color-Picker apt install eom ristretto geeqie; # Image-Viewer apt install darktable ; # Fotos nachbearbeiten apt install mtp-tools gvfs-fuse ; # Damit Smartphones und DSLRs über USB komunizieren apt install gphoto2 ; # Bilder von Nikon, Canon oder Sony holen # Elektronik apt install geda geda-gattrib geda-gsymcheck ; # geda apt install pcb ; # Layout-Editor (von geda) apt install gerbv ; # gerber-Viewer apt install texinfo ; # für die Doku von geda-gaf apt install kicad ; # kicad... apt install kicad-libraries ; apt install kicad-footprints kicad-symbols ; apt install kicad-packages3d kicad-templates ; apt install kicad-doc-en kicad-doc-de kicad-demos ; apt install sigrok pulseview ; # Fernabfrage von Multimeter, Spectrumanalyzer und Oszi ## FPGA apt install electronics-fpga-dev ; # zieht die wichtigsten für FPGA gebrauchten Pakete apt install yosys ; apt install arachne-pnr nextpnr-ice40 ; apt install fpga-icestorm ; apt install gtkwave ; apt install ghdl ; apt install freehdl ; apt install iverilog ; apt install verilator ; apt install dfu-util dfu-programmer ; # Um beim Orange-Crab den Bitstream über USB zu schicken ## Mechanik und 3D-Druck apt install freecad freecad-python3 ; # 3D-CAD apt install librecad ; # 2D-CAD-Programm mit DXF als Speicherformat apt install prusa-slicer ; # Slicer für 3D-Druck ## Chemie apt install avogadro ; # malt dreidimensionale Moleküle ## Debian Paket-Verwaltung apt install synaptic apt-xapian-index ; # damit synaptic eine Suche eingebaut hat apt install apt-show-versions ; # zeigt die Version installierter Pakete an. apt install apt-file apt ; # sucht auch in nicht installierten Paketen nach Dateien apt-file update ; # den Index von apt-file erzeugen # Email und Chat apt install claws-mail claws-mail-themes ; apt install claws-mail-plugins claws-mail-extra-plugins ; apt install clawsker claws-mail-tools ; apt install sqlitebrowser ; # grafische Benutzerschnittstelle für Sqlite apt install pgadmin3 ; # grafische Benutzerschnittstelle für Postgresql apt install s-nail ; # verbesserte Alternative zu mail -- für die Auto-Logout-Mechanik apt install kleopatra seahorse ; # Verwaltung von Schlüsseln und Zertifikaten apt install nheko ; # Client für Matrix-Chat apt install gajim gajim-openpgp ; # Client für XMPP-Chat # Sound und Audio apt install audacious smplayer; # Player apt install streamtuner2 ; # Webradio apt install beep ; # Piiep # Screensaver #apt remove xscreensaver ; # den im XFCE enthaltenen Screensaver entfernen (nicht mehr nötig in buster) apt install xautolock zenity mailutils; # für den automatischen Log-out nach Inaktivität # apt remove xtrlock light-locker ; # mehr als ein Lock-Programm kann zu Verwirrungen führen (FIXME: muss das sein?) # Schriften apt install fonts-go; # Schrift für Dymo-Schilder apt install fonts-rufscript fonts-taml-tscu ; # Schreibschriftschriften rufscript, tscu-comic apt install fonts-tomsontalks; # Comic-Smallcaps tomsontalks apt install ttf-mscorefonts-installer ; # andale, arial, comic sans, courier, georgia, trebuchet, verdana, webdings apt install fonts-fork-awsome ; # Icons im Stil von fonts-awsome apt install gwaterfall ; # Viewer für Schriften apt install fonts-powerline ; # für den Prompt auf den Servern web, afs1, afs2, ... ## Programmieren, Entwickeln apt install build-essential autotools-dev cmake ; # Zieht Compiler und Co. apt install ddd devhelp ; # Debugger apt install anjuta anjuta-extras ; # IDE apt install codeblocks ; # Noch ein IDE apt install codelite codelite-plugins ; apt install geany ; # umfangreicher Editor apt install git git-cola git-gui; # Versionskontrolle mit git apt install thunar-vcs-plugin ; # git im File-Manager # Phython apt install python3-numpy ; apt install python3-serial ; apt install python3-scipy ; apt install python3-pandas ; apt install python3-matplotlib ; apt install ipython3 ; apt install python3-pip ; apt install esptool ; apt install jupyter python-notebook-doc ; # Arduino apt install arduino arduino-mk flashrom ; apt install avrdude avrdude-doc ; apt install screen ; # Login apt install sddm ; # sddm statt lightdm apt install kde-config-sddm sddm-theme-elarun # Das Default-Theme von ssdm taugt nicht wirklich gut für 200 User apt remove lightdm ; # Ansible apt install ansible ; apt install sshpass ; # Braille apt install brltty ; apt install brltty-espeak ; apt install brltty-flite ; apt install brltty-x11 ; apt install console-braille ; apt install braillefont ;q apt install orca ; # Diverse Tools apt install sakura ; # Terminal ohne Schnörkel apt install meld ; # GUI für diff apt install gpm ; # Maus für die Textkonsole apt install htop ; # eine funktionalere Alternative zu top apt install progress; # zeigt den Fortschritt von Kopier-Aktionen apt install reptyr ; # einen Prozess in eine andere Textkonsole verpflanzen apt install ldap-utils ; # enthält unter anderem ldapsearch apt install memtest86+ ; # Speichertest — wird in grub eingebunden apt install locate ; # indizierte Suche für Dateinamen über die ganze Festplatte apt install command-not-found ; # macht auf der Kommandozeile Vorschläge, wenn etwas fehlt update-command-not-found ; # den Index von command-not-found erzeugen apt install gvfs-bin ; # Tools für die Default-Anwendungen mit MIME apt install systemsettings qt5ct ; # Einstellungen von KDE-Anwendungen apt install gtk3-nocsd ; # Richtige Fensterrahmen für GTK3-Anwendungen apt install x2goclient x2goserver cups-x2go ; # Auf die Grafik-Session von anderen Linuxrechnern zugreifen (lassen) apt install gvncviewer gino xtightvncviewer; # Auf die Grafiksession von anderen Windows-Rechnern zugreifen apt install syncthing syncthingtray; # Spezielle Ordner mit anderen Rechnern abgleichen ==== Alternatives setzen ==== update-alternatives --install /usr/bin/edit editor /usr/bin/vim 100 ; update-alternatives --install /usr/bin/edit editor /usr/bin/pluma 100 ; update-alternatives --set editor /usr/bin/pluma ; update-alternatives --install /usr/bin/gnome-text-editor gnome-text-editor /usr/bin/vim 100 ; update-alternatives --install /usr/bin/gnome-text-editor gnome-text-editor /usr/bin/pluma 100 ; update-alternatives --set gnome-text-editor /usr/bin/pluma ; update-alternatives --set gnome-www-browser /usr/bin/firefox-esr ; update-alternatives --set x-www-browser /usr/bin/firefox-esr ; update-alternatives --install /usr/bin/www-browser www-browser /usr/bin/firefox-esr 100 ; update-alternatives --set www-browser /usr/bin/firefox-esr ; ==== (lxdm konfigurieren) ==== Nicht nötig, wenn sddm verwendet wird. In ''/etc/lxdm/lxdm.conf'' xfce4 als Default-Session setzen, keine Sprach-Auswahl und keine User-Liste anzeigen: : [base] session=/usr/bin/startxfce4 ... [display] lang=0 ... [userlist] disable=1 ==== sddm konfigurieren ==== in ''%%/etc/sddm.conf :%%'' : [Autologin] Relogin=false Session= User= [Users] MaximumUid=65000 MinimumUid=10000 RememberLastUser=false RememberLastSession=false [General] HaltCommand= RebootCommand= EnableHiDPI=true GreeterEnvironment=QT_SCREEN_SCALE_FACTORS=2,QT_FONT_DPI=192 [Theme] Current=elarun CursorTheme=Adwaita [X11] ServerArguments= # eventuell auch: ServerArguments=-dpi 123 EnableHiDPI=true [Wayland] EnableHiDPI=true ''EnableHiDPI=true'' ist natürlich nur auf Systemen mit hochauflösendem Bildschirm sinnvoll. Mit ''RememberLastUser=false'' und ''RememberLastSession=false'' nimmt sddm die alphabetisch erste Session falls man nicht aktiv eine andere Wahl trifft. Das wäre unerwünschterweise plasma statt xfce. Deswegen die desktop-Datei für die xfce-Session auf einen Namen kopieren, der weiter oben im Alphabet steht als Plasma: sudo cp /usr/share/xsessions/xfce.desktop /usr/share/xsessions/elektroniq.desktop ==== Kein Screenlock bei KDE ==== KDE enthält einen Screenlock-Mechanismus, der nach einer gewissen Zeit der Inaktivität ausgelöst wird. Dann kommt man nur mit dem Passwort des jeweiligen aktiven Users wieder in den grafischen Desktop. Das ist bei den Arbeitzplatzrechnern der ElektronIQ eher unerwünscht. Leider kann der Screen-Locker nicht einzeln entinstalliert werden. Als schmutzige Umgehungstaktik kann dem Lock-Programm das Execute-Bit weggenommen werden: ''%%sudo chmod a-x /usr/share/doc/libkscreenlocker5%%'' ==== Kein KDEwallet ==== KDEwallet nervt mit Passwort-Anfragen selbst wenn man es nicht wirklich benutzt. Kann man nicht getrennt entinstallieren, aber wenigstens abschalten mit systemsettings → Account_Details → Wallet_Preferences → Apply Alternativ mit der Kommandozeile: kwriteconfig5 --file kwalletrc --group 'Wallet' --key 'Enabled' 'false' kwriteconfig5 --file kwalletrc --group 'Wallet' --key 'First Use' 'false' Mehr Vorschläge: [[https://superuser.com/questions/994551/disable-kwallet-popups-from-chrome|bei superuser]] ==== (Kein) Check des Dateisystems beim Boot ==== Mit dem Befehl ''tune2fs'' kann man beeinflussen, wann fsck das nächste Mal das Dateisystem auf Konsistenz prüft: * Einen Check des Dateisystems beim nächsten Boot erzwingen: tune2fs -c 1 /dev/sda1 * Keinen automatisch beim Boot ausgelösten Check: tune2fs -c -1 /dev/sda1 ==== Cairo-Dock bepuscheln ==== Cairo-Dock sollte vor dem Start ein wenig warten: [[file:///usr/local/bin/cairo-dock-wrapper.sh|/usr/local/bin/cairo-dock-wrapper.sh]] : #!/bin/sh sleep 3s ==== XFCE-Fenster mit breitem Rand ==== Die von Debian mitgelieferten Themes statten die Fenster fast alle mit einem sehr schmalen Rand aus. Das macht es etwas schwer, an den Rändern mit der Maus zu ziehen. Bei https://www.xfce-look.org gibt es einige für HiDPI gedachte Themes, die in diesem Aspekt besser sind. Die Themes in ''/usr/local/share/themes'' installieren: sudo cp /afs/iqo.uni-hannover.de/user/kmk/tmp/themes/ /usr/local/share -r ==== Globale Firefox-Konfig ==== In ''/etc/firefox/policies/policies.json'' kann man abschalten, dass Firefox sich in den Umgang mit Passwörtern einmischt. Außerdem kann dort der Single-Login mit SPNEGO aktiviert werden: { "policies": { "BlockAboutConfig": true, "DisablePasswordReveal": true, "DisableMasterPasswordCreation": true, "OfferToSaveLogins": false, "OfferToSaveLoginsDefault": false, "PasswordManagerEnabled": false, "Authentication": { "SPNEGO": [".iqo.uni-hannover.de"], "Delegated": [".iqo.uni-hannover.de"] } } } ===== Non-Debian Software ===== ==== geda ==== cd /usr/local/src ; sudo mkdir geda ; sudo chgrp iqo geda ; sudo chmod g+w geda ; cd geda ; sudo apt install libgamin-dev ; sudo apt-get build-dep geda-gschem ; git clone git://git.geda-project.org/geda-gaf.git ; cd geda-gaf ; ./autogen.sh ; ./configure ; make -j8 ; sudo make install ; sudo ldconfig ; cd .. ; sudo apt-get build-dep pcb ; git clone git://git.geda-project.org/pcb.git ; cd pcb ; ./autogen.sh ; ./configure ; make -j8 ; sudo make install ; # remove the default footprint libraries: sudo rm -rf /usr/local/share/pcb/newlib /usr/local/share/pcb/pcblib-newlib /usr/local/share/pcb/m4 ; sudo update-alternatives --install /usr/bin/pcb pcb /usr/local/bin/pcb 100 ; sudo update-alternatives --set pcb /usr/local/bin/pcb ; ==== eagle ==== Eagle ist ganz aus Debian heraus gefallen. Ausweichlösung: Das Archiv von Ubuntu in ''/etc/apt/source.list'' ergänzen: deb http://archive.ubuntu.com/ubuntu xenial main multiverse sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5 Eagle ist nur als i386-Binary verfügbar. Das heißt, man muss Multiarch aktivieren. wenn der Rechner ansonsten als mit Binaries für AMD64 läuft. Dazu: apt install multiarch-support ; dpkg --add-architecture i386 ; apt update ; apt install eagle ; apt install libjpeg62:i386 ; # wird für eagle-AEI gebraucht [[.:lizenz:start|Unsere Lizenz]] muss für jeden Nutzer einzeln beim ersten Start von eagle angegeben werden. ==== eagle-AEI ==== Nur dann sinnvoll, wenn intensiver mit AEI-Projekten gearbeitet wird. Für die Dokumentation braucht eagle-AEI die Schriftart luximono. Die ist zwar umsonst, aber nicht frei. Deswegen ist dieser Klimmzug nötig: cd [[file:///tmp|/tmp]] ; sudo wget http://tug.org/fonts/getnonfreefonts/install-getnonfreefonts ; sudo texlua install-getnonfreefonts ; sudo getnonfreefonts-sys luximono ; Bei der Gelegenheit kann man auch die anderen semifreien Schriften installieren: sudo getnonfreefonts-sys webomints garamond eurofont dayroman classico lettergothic arial-urw ; In ''/usr/local/eagle-AEI'' installieren: Scheitert mit aktuellem Eagle → Upgrade nötig cp -r afs/iqo.uni-hannover.de/products/eagle/5.7_eagle-AEI usr/local/eagle-AEI ; ==== ltspiceIV ==== Nur dann sinnvoll, wenn ltspiceVII aus Gründen scheitert ltspice braucht wine32, Mono und diverse Window-Bindings. Für wine32 muss i386 als weitere Architektur in Gang gebracht werden. Siehe die Einrichtung von eagle. apt install wine wine32 mono-runtime mono-gac winbind ; cd /usr/local/share ; wget http://ltspice.linear.com/software/LTspiceIV.exe ; Einmal pro Rechner ausführen (wine64 scheitert, weil das Binary nur für win32 compiliert wurde): wine /usr/local/share/LTspiceIV.exe ; ==== ltspiceVII ==== Anleitung: https://www.pcsuggest.com/install-ltspice-linux/ Download des Installers von http://www.linear.com/designtools/software/#LTspice : dpkg --add-architecture i386 apt-get update apt-get install wine mono-runtime mono-vgac libwine-gecko-2.21 wine $PATH-TO-LTSPICE-INSTALLER$/XVIIx64.exe wine etwas angenehmer nutzbar machen: winecfg Applications → Windows_Version → Windows 10 Graphics → Screen resolution → 144 dpi ==== qucs ==== obsolet, seit kicad Simulation von Schaltungen mit ngspice vernünftig unterstützt. Der Simulator qucs ist nicht in den Debian-Repositories. Man kann aber von Ubuntu ein Paket laden und installieren: : cd /tmp ; wget https://launchpad.net/~qucs/+archive/qucs/+files/qucs_0.0.18-2_amd64.deb ; dpkg -i qucs_0.0.18-2_amd64.deb ; Das Projekt auf Launchpad: https://launchpad.net/~qucs/+archive/ubuntu/qucs/+packages → Letzter Stand ist v0.0.20-2 von 2020. ==== Waterfox ==== [[https://www.waterfox.net/en-US/|Waterfox]] ist ein Fork von Firefox [[https://www.linuxcapable.com/how-to-install-waterfox-browser-on-debian-linux/|Installationsanleitung]] (läuft auf die Einrichtung eines weiteren Repos in ''/etc/apt/sources.d'' hinaus) ===== System-Konfiguration anpasssen ===== ==== X11-Anwendungen von anderen Rechnern erlauben ==== * Wenn lightdm genutzt wird, in /etc/lightdm/lightdm.conf : ''xserver-allow-tcp=true'' * Wenn lxdm genutzt wird, in /etc/lxdm/lxdm.conf : ''[server] tcp_listen=1'' * Wenn sddm genutzt wird, in /etc/sddm.conf : [X11] ServerArguments= (Die Server-Arguments haben als Default ein ''-nolisten tcp''. Das verhindert, dass X11-Anwendungen von Remote-Rechnern dargestellt werden.) In ''/etc/ssh/ssh_config'' X11 für Institutsrechner erlauben und dabei eine Ausnahme für git machen: Host *.iqo.uni-hannover.de ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes GSSAPIAuthentication yes GSSAPIDelegateCredentials no Host git.iqo.uni-hannover.de ForwardX11 no ForwardX11Trusted no User gitea IdentityFile ~/.ssh/id_rsa Um beim Aufruf von ssh die Option ''-X'' weglassen zu können, kann auf dem Clienten ''$HOME/.ssh/config'' passend konfiguriert werden: ################### # all hosts in iqo # (for this rule to match, ssh needs to be called with the complete name of the server) ################### Host *.iqo.uni-hannover.de ForwardX11 yes ForwardX11Trusted yes #################### # Specific hosts #################### Match host "bibo,akka,schusch,hoots,orville" ForwardX11 yes ForwardX11Trusted yes Wenn es haufenweise CSS-Fehler hagelt und Knöpfe und Menüs lieblos ohne Abstand nebeneinander gequetscht sind, dann gibt es ein Problem mit den GTK-Themes. Eventuell hilft es dann, auf dem Server die GTK3-Themes zu entfernen. Dann wird als Fallback GTK2 benutzt: apt-get remove gtk3-engines-xfce Auf lange Sicht ist das allerdings keine gute Lösung, weil GTK2 allgemein zu Gunsten von GTK3 abgelöst wird. ==== USB-Sticks ==== === USB-Sticks im Dateimanager === Damit der Dateimanager von XFCE es mitbekommt, wenn ein USB-Stick eingesteckt wird, muss das Paket thunar-volman installiert sein. === USB-Sticks für alle === Das normale Verfahren mit USB-Sticks bei XFCE setzt voraus, dass der jeweilge User in [[file:///etc/groups|/etc/groups]] zur Gruppe plugdev gehört. Das ist auf den Rechnern mit LDAP-Zugang nicht wirklich darstellbar. Als Folge kann ein User den USB-Stick nicht mounten. Und wenn er von Root gemountet ist, fehlen die passenden Lese- und Schreibrechte. Um allen Usern die Benutzung von USB-Sticks zu erlauben, gibt es eine erstaunlich große Vielzahl an Werkzeugen. Zwei davon sind usbmount und udisk. Eine passende Konfiguration von usbmount hat lange Zeit in der ElektronIQ funktioniert. Leider ist das Paket etwa ebenso lange ohne Maintainer. Und so ist es irgendwann auf dem Weg von jessie zu stretch soweit zerbrochen, dass User unter XFCE nicht mehr an USB-Sticks heran kamen. Die moderne Alternative ist offenbar udisk2 ([[https://unix.stackexchange.com/questions/560358/how-do-i-automount-usb-drives-in-linux-debian|Diskussion auf stackexchange]]) === udisk2 === apt install udisks2 Die Konfig-Datei ''/etc/polkit-1/localauthority/50-local.d/udisks.pkla'' anlegen: [udisks] Identity=unix-user:* Action=org.freedesktop.udisks* ResultAny=yes Nach ausloggen und wieder einloggen sollten USB-Sticks automagisch eingehängt werden. ==== MIME für Default-Anwendungen ==== Der Inhalt der Datei ''/usr/share/applications/mimeapps.list'' bestimmt die Reihenfolge, in der Anwendungen an den Start kommen: [Default Applications] text/csv=pluma.desktop;libreoffice-calc.desktop;gnumeric.desktop application/pdf=atril.desktop application/x-pcb-layout=pcb.desktop application/x-geda-schematic=geda-gschem.desktop;pluma.desktop application/x-geda-symbol=geda-gschem.desktop;pluma.desktop application/octet-stream=varicad.desktop [Added Associations] application/x-geda-schematic=geda-gschem.desktop;pluma.desktop application/x-geda-symbol=geda-gschem.desktop;pluma.desktop application/octet-stream=varicad.desktop; Eventuell müssen die MIME-Daten neu gelesen werden: sudo update-mime-database /usr/share/mime sudo update-desktop-database /usr/share/applications/ ==== Den lokalen User entfernen ==== userdel NAME ==== Alle Macht dem Sudo! ==== NAME = "kmk" echo $NAME " ALL = NOPASSWD:ALL" > /etc/sudoers.d/$NAME chmod 440 /etc/sudoers.d/$NAME ==== CapsLock dauerhaft loswerden ==== In ''/etc/default/keyboard'' diese Option setzen: ''XKBOPTIONS="caps:none"'' ==== Druck machen ==== === Print-Server des IQ === In ''/etc/cups/cups-browsed.conf'' einen Verweis auf unseren Server einfügen: : echo " # IQ specific: BrowsePoll printserv.iqo.uni-hannover.de:631 CreateIPPPrinterQueues Yes " >> /etc/cups/cups-browsed.conf ; === PDF-Drucker === apt install cups-pdf Cups hat ein Problem damit, ins AFS zu schreiben. Daher in ''/etc/cups/cups-pdf.conf'' den Output nach ''/tmp'' umlenken: Out /tmp/PDF-$(USER) === Default-Drucker setzen === Systemweit: Eine Datei ''/etc/cups/lpoptions'' mit einer Duplex-Zeile anlegen: Default RICOH_Aficio_MP_301_D323_printserv_iqo_uni_hannover_de Duplex=None Alternativ die gleiche Zeile auf User-Ebene in der Datei ''~/.cups/lpoptions'' Oder mit dem Befehl ''lpoptions -d RICOH_Aficio_MP_301_D323_printserv_iqo_uni_hannover_de'' Von der Kommandozeile aus drucken, geht dann mit: ''lpr was.pdf'' ==== LUH-Hausschrift Agfa Rotis Sans ==== * Beim Rechenzentrum gibt es eine Seite, auf der Downloads der Schrift Agfa Rotis Sans [[https://www.luis.uni-hannover.de/rotis.html|vorgehalten werden]] Für Linux gibt es beim LUIS ein Debian-Paket: wget https://www.luis.uni-hannover.de/fileadmin/arbeitsplatzpc/luh_intern/Rotis-Font/luh-fonts-rotissans_1.100-1_all.deb sudo dpkg -i luh-fonts-rotissans_1.100-1_all.deb sudo apt install libotf-bin gwaterfall sudo fc-cache -f -v Eventuell wird zusätzlich wird das Paket libotf-bin gebraucht. Den Font-Cache erneuern: ''fc-cache -f -v'' Viewer für Schriften: waterfall oder gnome-font-viewer oder gnome-specimen ==== Keinen Default-Ordner-Automatismus in $HOME ==== XFCE und andere Desktopumgebungen legen recht hartnäckig diverse Ordner an, die wir hier nicht wirklich brauchen (Music, Videos, Pictures,...). Das kann man abschalten in [[file:///etc/xdg/user-dirs.conf|/etc/xdg/user-dirs.conf]] mit der Zeile: enabled=False [[https://freedesktop.org/wiki/Software/xdg-user-dirs/|Doku dazu]] ==== Debian-Pakete nicht archivieren ==== Debian ist von Haus aus so konfiguriert, dass die Pakete nach der Installation nicht gelöscht, sondern in [[file:///var/cache/apt/archives|/var/cache/apt/archives]] aufbewahrt werden. Gedacht ist das für den Fall, dass man große Teile des Systems neu installieren muss und nur ein langsames Internet hat. Dabei kommt im Laufe der Zeit einiges zusammen (~40 GB). Um diese Halde wieder loszuwerden, hilft der Befehl: ''sudo apt-get clean'' Eine Datei ''/etc/apt/apt.conf.d/30do_not_keep_archives'' hält apt davon ab, die Halde überhaupt anzulegen: // After installation, do not keep downloaded packages in /var/cache/apt/archive/ DSelect { Clean "always"; // always|auto|prompt|never } Das GUI synaptic muss man getrennt überzeugen: * Settings → Preferences → Files → "Delete downloaded packages after installation" ==== /var/log/journal schrumpfen ==== systemd legt recht umfangreiche logs in ''/var/log/journal'' an. Bei Debian kann das defaultmäßig ohne Begrenzung wachsen, bis die Platte voll ist. === Schlankheitkur === sudo journalctl --disk-usage # Größe des logs ermitteln sudo journalctl --rotate # archivieren, was im Moment aktiv ist sudo journalctl --vacuum-time=2days # alles wegschmeißen, was älter als zwei Tage ist === Dauerhafte Diät === In /etc/systemd/journald.conf diese Zeile einfügen: SystemMaxUse=200M ==== Email empfangen und verschicken ==== Emailverschicker der Debian-Wahl ist exim4. Exim4 als "smarthost" konfigurieren - entweder bei der konfiguration des Pakets, oder in der Konfig-Datei ''etc/exim4/update-exim4.conf.conf'': : dc_eximconfig_configtype='smarthost' dc_other_hostnames='' dc_local_interfaces='' dc_readhost='iqo.uni-hannover.de' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='smtp.uni-hannover.de::587' CFILEMODE='644' dc_use_split_config='true' dc_hide_mailname='true' dc_mailname_in_oh='true' dc_localdelivery='mail_spool' ==== Das Utility mail ==== Der Befehl /usr/bin/mail aus dem Paket mail-utils kann in Scripten zum Verschicken von Emails genutzt werden. Debian benutzt etwas andere Dateien zur Konfiguration als in "info mail" suggeriert. Welche das sind, und ob sie erfolgreich gelesen wurden, erfährt man mit : $ mail --config-verbose Im Moment (Oktober 2023, trixie/testing) sind das /etc/mailutils.conf und $HOME/.mail . In $HOME/.mail sollte mindestens der Email-Absender gesetzt werden: : $ cat ~/.mail address { email-addr knaak@iqo.uni-hannover.de; }; Mehr Konfigurationsmöglichkeiten erfährt man mit: ''mail --config-help'' ==== exim gegenüber dem SMTP-Server des Rechenzentrums authentifizieren ==== Die Datei [[file:///etc/exim4/passwd.client|/etc/exim4/passwd.client]] kann ein Account/Passwort-Paar enthalten: : smtp.uni-hannover.de:knaak@iqo.uni-hannover.de:PASSWORT **FIXME**: Ein Passwort im Klartext ist natürlich keine so prickelnde Idee. Einziger Schutz sind hier die Unix-Rechte... Die Config einlesen und exim neu starten: sudo update-exim4.conf sudo systemctl restart exim4 Test mit /usr/bin/mail: mail -s "von mir an mich" knaak@iqo.uni-hannover.de < was.txt Wenn die Test-mail nicht ankommt, kann das Log von exim hilfreich sein: ''/var/log/exim4/mainlog'' ==== Zeitzone korrigieren ==== Falls die Zeitzone für den Rechner nicht richtig eingestellt ist, kann man das korrigieren mit: ''sudo dpkg-reconfigure tzdata'' ===== Dymo ===== Obwohl Dymo es auf ihrer Web-Site verschweigen, lassen sich die LabelManager von Linux aus ansteuern. Sie werden in CUPS als normale USB-Drucker eingebunden. Es gibt seit 2014 sogar ein Treiber-Paket im Debian-Repo (printer-driver-dymo) Mit diesem Paket braucht man den Treiber nicht selber zu kompilieren. ==== Dymo-Treiber selber kompilieren ==== nicht nötig, wenn das dymo-Paket aus dem Debian-Repo installiert ist. * Fürs compilieren des Treibers notwendige Pakete installieren: ''apt install libcups2-dev libcupsimage2-dev'' * Cups-Treiber von Dymo laden: cd /usr/local/src mkdir dymo cd dymo # http://www.dymo-label-printers.co.uk/news/download-dymo-sdk-for-linux.html wget http://www.dymo-label-printers.co.uk/user/dymo-cups-drivers-1.4.0.tar.gz tar -xzf dymo-cups-drivers-1.4.0.tar.gz cd dymo-cups-drivers-1.4.0.5 configure make make install ==== Dymo-Treiberprobleme debuggen 2016(?) ==== poppler aktivieren: : sudo lpadmin -p DYMO_LabelManager_PnP_an_kwak -o pdftops-renderer-default=pdftops ghostscript aktivieren: : sudo lpadmin -p DYMO_LabelManager_PnP_an_kwak -o pdftops-renderer-default=gs rückgängig mit: : lpadmin -p DYMO_LabelManager_PnP_an_kwak -R pdftops-renderer-default ==== Dymo-Drucker in CUPs anmelden ==== Der Drucker sollte beim Einstecken automagisch erkannt werden. Wenn nicht, kann man ihn als root entweder im www-Browser über http://localhost:631 → Printers → Add_Printers oder mit ''system-config-printer'' anmelden. Ein sudo reicht nicht. In jedem Fall sollte der eine, oder andere Parameter angepasst werden: * Media Size: 12 mm (1/2") Continuous * Label alignment: Left Aligned * Continuous Paper: enabled * Orientation: Landscape (90°) Mit diesen Voreinstellungen wird leerer Raum am Ende des Schilds nicht gedruckt. Das heißt, die Länge des Schilds passt sich automatisch an den Inhalt an. Wenn hinter dem letzten Buchstaben noch leerer Platz erwünscht ist, hilft ein einzelnes schwarzes Pixel. Die maximale Länge wird durch die Breite des Templates bestimmt. === glabels einrichten === Es gibt ein git-Projekt mit Vorlagen für Dymo-Drucker: https://git.iqo.uni-hannover.de/elektroniq/glabels.git glabels3 sucht Schilder-Vorlagen in folgenden Pfaden: - ''$HOME/.glabels'' - ''$HOME/.config/libglabels/templates/'' -- Die Dateien sollten die Endung "templates" haben. - ''/usr/share/libglabels-3.0/templates/'' -- Die Dateien müssen die Endung "templates.xml" haben. Es gibt für den LM-PNP einen Skalierungs-Irrtum, der dazu führt, dass der tatsächliche Ausdruck deutlich kleiner ausfällt als am Bildschirm vorgegeben. Zur Kompensation sollten Höhe und Breite in den Templates um den Faktor 1.7 zu groß gewählt werden. # Eine Zusammenstellung mit Templates für Dymo-Schilder befindet sich im afs: # /afs/iqo.uni-hannover.de/system/i386_linux26/products/glabels/dymo-D1-templates.xml # Die Default-Templates aus dem Weg schaffen und stattdessen die Dymo-Sammlung des IQ verlinken: sudo rm /usr/share/libglabels-3.0/templates/*templates.xml ; sudo rm /usr/share/libglabels-3.0/templates/paper-sizes.xml ; sudo ln -s /afs/iqo.uni-hannover.de/system/i386_linux26/products/glabels/dymo-D1-templates.xml /usr/share/libglabels-3.0/templates/ ; sudo ln -s /afs/iqo.uni-hannover.de/system/i386_linux26/products/glabels/paper-sizes.xml /usr/share/libglabels-3.0/templates/ ; Diese Ersetzung muss nach Upgrade wie derholt werden. === glabels-qt === glabels-3 wird seit ein paar Jahren nicht mehr weiterentwickelt. Stattdessen gibt es vom selben Autor den neu geschriebenen Nachfolger "glabels-qt". Davon gibt es allerdings noch keinen Release (Frühling 2023) und der Hauptautor Jim Evins ist nicht mehr wirklich aktiv. Seit November 2022 ist Jim Lieb mit einem "weichen" Fork eingesprungen. In seinem github-Repo gibt es einen Branch 'next' mit dem neusten Stand. Also muss man selbst compilieren: sudo apt install qtbase5-dev libqt5svg5-dev qttools5-dev zlib1g-dev pkgconf libqrencode-dev cd /usr/local/src # git clone https://github.com/jimevins/glabels-qt.git git clone https://github.com/lieb/glabels-qt.git cd glabels-qt git checkout origin/next mkdir build cd build cmake .. make sudo make install === Dymo-Vorlagen === Unsere eigenen Dymo-Vorlagen für glabels-qt befinden sich in einem [[https://git.iqo.uni-hannover.de/elektroniq/glabels|eigenen git-Projekt]]. Die Vorlagen sollten nach ''/usr/local/share/glabels-qt/templates'' kopiert werden. Ebenso die um label_rolls erweiterte Datei ''categories.xml'' ==== Schriften ==== Die Auflösung der Dymoschilder ist ziemlich grob. Deswegen sehen bei kleinen Schriftgrößen nicht alle Schriften gut aus. Einigermaßen gut funktionieren: * Nimbus Sans (für größere Schrift) * Go Medium (mitteldick, gut bei etwa 12pt) * Bitstream Vera Sans, fett (gut bei 8 pt) * Mathjax Sans * Impact (wenn es auffällig dick sein soll) ==== Dymo-Schilder mit lpr drucken ==== lpr -P DYMO_LabelManager_PnP3 -o natural-scaling='72' -o mediatype=12mm -o pagesize=Custom.12x125mm -o dymoprintchainmarksatdocend -o dymo-halftoning=errordiffusion -o page-right=0 M4-pinta.bmp ==== Testmuster auf 24mm-Band ==== lpr -P DYMO_LabelMANAGER_PC_II -o natural-scaling='100' -o ppi="180" -o pagesize=Custom.24x125mm -o dymoprintchainmarksatdocend=0 -o DymoContinuousPaper=0 ~/Beschriftung/Testmuster/fraktalplusgrau127.gif lpr -P DYMO-LabelMANAGER-PnP_orville -o natural-scaling='100' -o ppi="180" -o pagesize=Custom.12x125mm -o dymoprintchainmarksatdocend=0 -o DymoContinuousPaper=0 ~/Beschriftung/Testmuster/fraktalplusgrau63.gif ==== Der ZEIT-Aufkleber ==== lpr -P DYMO_LabelMANAGER_PC_II -o natural-scaling='216' -o mediatype=24mm -o pagesize=Custom.24x125mm -o dymoprintchainmarksatdocend -o dymo-halftoning=errordiffusion -o page-right=0 diezeit-label.png ==== gimp-Dymo-Tipps ==== Der Kopf des Labelmanager_PC_II druckt 127 Pixelzeilen * Gitter sichtbar machen: Preferences → Image_Windows → Show_Grid * Gitter auf 1 Pixel setzen: Image → Configure_grid... * Bei Text das Antialiasing abschalten * Die lpr-Option "orientation-requested" funktioniert nicht richtig. Daher im Malprogramm vor dem Export um 90° drehen. Eventuell kann man auch mit convert drehen. ==== inkscape-Dymo-Tipps ==== * Das Schild muss von oben nach unten ausgerichtet sein. (Die Rotations-Optionen von lpr führen zu Verzerrungen,) * Das Schild als PNG mit 127 Pixeln Breite exportieren. * lpr -P DYMO_LabelMANAGER_PC_II -o natural-scaling='100' -o ppi="180" -o pagesize=Custom.24x225mm -o dymoprintchainmarksatdocend=0 -o DymoContinuousPaper=0 Kabel_fuer_Nat_Instr.png ==== Bitmap-Fonts installieren/aktivieren ==== Theoretisch sollten Bitmap-Schriften auf der niedrigen Auflösung der Dymo-Drucker vorteilhaft aussehen. [[http://ptspts.blogspot.de/2010/06/how-to-enable-bitmap-fonts-on-ubuntu.html|Anleitung für Ubuntu]] ==== Bilder und Icons ==== Grafisches Rohmaterial für Aufkleber * https://openclipart.org/ * Bohrer: https://openclipart.org/detail/103897/drill * Schraubenantriebe: https://openclipart.org/detail/175981/keksschaf1ceb5ed2 ===== Varicad ===== Software-Version von 2011 → Funktioniert das noch? sudo dpkg -i [[file:///afs/iqo.uni-hannover.de/user/kmk/Software/varicad2011-en_1.10_amd64.deb|/afs/iqo.uni-hannover.de/user/kmk/Software/varicad2011-en_1.10_amd64.deb]] ==== Varicad-Config auf User-Ebene ==== mkdir Projekte mkdir Konstruktion cd Projekte/Konstruktion git clone http://bibo/git/varicad-lib.git [[.:lizenz:start|Unsere Lizenz]] muss für jeden Nutzer einzeln beim ersten Start von Varicad angegeben werden. ===== Speziell für die Arbeitsplatzrechner der ElektronIQ ===== ==== Scripte in thunar ==== FIXME : Ist das auch in Buster noch korrekt? Oder haben die Entwickler nach User-Protest eingelenkt? Seit Version 1.6.5 bietet thunar bei (bash-) Scripten nicht mehr an, sie auszuführen. Das kann man als "hidden setting" wieder aktivieren. (siehe https://bbs.archlinux.org/viewtopic.php?id=194464 ) Befehl, der die Settings dauerhaft setzt: xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default --create --type bool --set true Diese Einstellung landet in ''$HOME/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml'' Alternativ kann man die Option im xfce4-settings-editor setzen. ==== Allen Usern die USB-Schnittstellen erlauben ==== Normalerweise haben bei Debian nur Angehörige der Gruppe "dialout" Zugriff auf die seriellen Schnittstellen. Diese Sicherheitsschwelle stammt noch aus den Zeiten als man sich per Modem ins Internet einwählte. Sie verhindert aber auch, dass ein Arduino von einem "nur" über Kerberos authentifizierten User bedient werden kann. Für die Arbeitsplatzrechner in der ElektronIQ ist das eher hinderlich. Abhilfe schafft diese Regel für udev in ''/lib/udev/rules.d/10-local.rules'': # This rule is specific to the desktops in ElektronIQ # It is supposed to allow all users to access the serial port KERNEL=="ACM0", MODE="0777" KERNEL=="ACM1", MODE="0777" KERNEL=="ACM2", MODE="0777" KERNEL=="ACM3", MODE="0777" KERNEL=="ACM4", MODE="0777" KERNEL=="ACM5", MODE="0777" KERNEL=="ACM6", MODE="0777" KERNEL=="ACM7", MODE="0777" KERNEL=="ACM8", MODE="0777" KERNEL=="ACM9", MODE="0777" ==== Treiber für Arduino-Clones ==== FIXME:Wird das in Trixie noch gebraucht? Die besonders preiswerten Arduino-Clones haben statt FTDI einen anderen Chip für die USB-Schnittstelle - meist CHP340g. Sie brauchen einen dafür passenden Treiber. Anleitung: http://sparks.gogo.co.nz/ch340.html ===== Auto-Logout für ssh ===== In [[file:///etc/profile|/etc/profile]] : : # automatically log out after 200 minutes of inactivity -<)kmk(>- TMOUT=12000 readonly TMOUT export TMOUT ===== Auto-Logout für XFCE ===== Für die Einrichtung sollte es reichen, zwei symbolische Links zu Scripten auf unserem Server anzulegen: ln -s /afs/iqo.uni-hannover.de/system/sbin/elektroniq-autologout.desktop /etc/xdg/autostart/elektroniq-autologout.desktop ln -s /afs/iqo.uni-hannover.de/system/sbin/elektroniq-logout-countdown.sh /usr/local/bin/elektroniq-logout-countdown.sh Das erste "elektroniq-autologout.desktop" wird automatische nach dem Login aufgerufen. Es startet "xautolock" so, dass es nach 30 Minuten Nichtstun aufwacht und das zweite Script startet. Dieses zweite Script bringt einen Dialog mit einem Countdown auf den Bildschirm. Wenn der Countdown abgelaufen ist, ohne dass sich der User gerührt hat, wird er (oder sie) automatisch ausgeloggt. Außerdem wird eine kurze Email an den User und an mich geschickt. Damit das alles klappt, müssen diese drei Pakete installiert sein: apt install xautolock zenity mailutils ==== Autostart-Script ==== The desktop script ''/etc/xdg/autostart/elektroniq-autologout.desktop'' should be a symbolic link to ''afs/iqo.uni-hannover.de/system/sbin/elektroniq-autologout.desktop''. Contents: # This desktop entry is part of the automatic logout function of the computers in # in the ElektronIQ. Clients link to this file. It starts xautolock in the background. # When necessary, xautolock can be overridden locally. See the man page of xautolock. ###########################################-<)kmk(>-2016 [Desktop Entry] Type=Application Name=ElektronIQ auto log out Comment=automatically log out user after a period of inactivity and a grace time TryExec=xautolock -time 30 -locker "/usr/local/bin/elektroniq-logout-countdown.sh Exec=xautolock -time 30 -locker "/usr/local/bin/elektroniq-logout-countdown.sh Icon=utilities-system-monitor.svg OnlyShowIn=XFCE; Terminal=false Hidden=true ==== Log-out script ==== The logout script executed by xautolock: ''/usr/local/bin/elektroniq-logout-countdown.sh'' is a symbolic link to ''/afs/iqo.uni-hannover.de/system/sbin/elektroniq-logout-countdown.sh'' #!/bin/sh # Logout script for the computers at ElectronIQ # * supposed to be launched by xautolock # * presents a count-down progress bar with zenity # * initiates a logout via the command xfce4-session-logout # * on logout an email is sent to the user and to an admin # * if the user presses "cancel" or closes the dialog the session continues # # This script is supposed to be called by xautolock: # xautolock -time 60 -locker "elektronIQ-logout-countdown.sh" #############################################-<)kmk(>-2016################## GRACE=3600 # grace period in seconds GRACEMINUTES=$(($GRACE / 60)) # grace period in minutes ( SECONDS=$GRACE while [ $SECONDS -ge 0 ] do PERCENT=$((100 * $SECONDS / $GRACE )) if [ $PERCENT -lt 100 ] # do not report "100" because this then # would make the progress bar close echo $PERCENT # immediately. fi echo "# Automatic logout in "$(($SECONDS / 60))" minutes and "$(($SECONDS % 60))" seconds" SECONDS=$(($SECONDS-1)) sleep 1 done ) | # pipe count-down to zenity zenity --width=450 --progress \ --title="Auto-Logout" \ --text="Automatic logout..." \ --percentage=100 \ --auto-close RESULT=$? # timer got to zero --> RESULT = 0 # user pressed "cancel" --> RESULT = 1 # dialog was closed by user --> RESULT = 1 if [ $RESULT = "0" ] then echo "Timer expired --> terminate the XFCE session" DATE=$(date +%F) TIME=$(date +%R) HOST=$(hostname) EMAIL=$(ldapsearch -ZZ uid=$USER mail 2>/dev/null | awk -F ': ' '$1=="mail"{print $2}') ADMIN="knaak@iqo.uni-hannover.de" # Send an email to the user mail -t < {{indexmenu_n>200}} /* sort this page to the bottom of the index */