Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:koarrl_alzlinux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:koarrl_alzlinux [2019/01/30 10:57]
koarrl [UUID einer Partition ändern]
de:koarrl_alzlinux [2019/06/03 15:25] (aktuell)
koarrl [mc-extension file]
Zeile 1: Zeile 1:
 ====== koarrl: Alzheim-Linux ​ ====== ====== koarrl: Alzheim-Linux ​ ======
-(last edit: 2018-11-29)+(last edit: 2019-06-03)
  
 ===== Aktuellen runlevel ermitteln ===== ===== Aktuellen runlevel ermitteln =====
Zeile 161: Zeile 161:
   apt-get install calibre   apt-get install calibre
   ebook-convert junk.epub junk.pdf   ebook-convert junk.epub junk.pdf
 +  ​
 +===== IntelHex auf binär konvertieren =====
  
 +Es gibt das fertig im Paket binutils:
 +
 +  $ objcopy -I ihex -O binary file.hex file.bin
 +  ​
 ===== UUID einer Partition ermitteln ===== ===== UUID einer Partition ermitteln =====
  
Zeile 383: Zeile 389:
 ===== mc-extension file ===== ===== mc-extension file =====
  
-(gilt so für mc-4.8.3) \\+(gilt so für mc-4.8.18) \\
 systemweit: /​etc/​mc/​mc.ext \\ systemweit: /​etc/​mc/​mc.ext \\
 userspezifisch:​ ~/​.config/​mc/​mc.ext userspezifisch:​ ~/​.config/​mc/​mc.ext
  
-Hier mein letztständiges mc.ext{{:de:mc.ext-koarl-20140814.tgz}}+Derzeit sieht das so aus: 
 +<​html><​pre><​p style="​coloryellow; background-colorgrey; font-size: 9px"><​file ​mc.ext
 +# ================================================================================================== 
 +
 +#               ​Midnight Commander 4.8.22 extension file 
 +#               ​cautiously improved by koarrl 2019-06-03 (Debian-buster-amd64) 
 +
 +#               This file should be located/​symlinked as ~/.config/​mc/​mc.ext 
 +
 +#               !! not yet tested completely !!! xxx 
 +
 +# ==================================================================================================
  
-ANMERKUNG: unrar-free kann nicht alles dekomprimierenDie non-free-Version unrar hat andere Commandlineparameter,​ geht dafür perfekt.+# see /​etc/​mailcap for system-wide MIME types 
 +# man see .. :-)
  
-Einträge dann:+# All lines starting with # or empty lines are thrown away. 
 +# Lines starting in the first column should have following format: 
 +
 +# keyword/​descNL,​ i.e. everything after keyword/ until new line is desc 
 +
 +# keyword can be: 
 +
 +#    shell (desc is, when starting with a dot, any extension (no wildcars),​ 
 +#          i.e. matches all the files *desc . Example: .tar matches *.tar; 
 +#          if it doesn'​t start with a dot, it matches only a file of that name) 
 +
 +#    regex (desc is an extended regular expression) 
 +#          Please note that we are using the GNU regex library and thus 
 +#          \| matches the literal | and | has special meaning (or) and 
 +#          () have special meaning and \( \) stand for literal ( ). 
 +
 +#    type  (file matches this if `file %f` matches regular expression desc 
 +#          (the filename: part from `file %f` is removed)) 
 +
 +#    directory (matches any directory matching regular expression desc) 
 +
 +#    include (matches an include directive) 
 +
 +#    default (matches any file no matter what desc is) 
 +
 +# Other lines should start with a space or tab and should be in the format: 
 +
 +# keyword=commandNL (with no spaces around =), where keyword should be: 
 +
 +#    Open (if the user presses Enter or doubleclicks it), 
 +
 +#    View (F3), Edit (F4) 
 +
 +#    Include is the keyword used to add any further entries from an include/ 
 +#    section 
 +
 +# command is any one-line shell command, with the following substitutions:​ 
 +
 +# %% -> % character 
 +# %p -> name of the current file (without path, but pwd is its path) 
 +# %f -> name of the current file. Unlike %p, if file is located on a 
 +# non-local virtual filesystem, i.e. either tarfs or ftpfs, 
 +# then the file will be temporarily copied into a local directory 
 +# and %f will be the full path to this local temporal file. 
 +# If you don't want to get a local copy and want to get the 
 +# virtual fs path (like /#​ftp:​ftp.cvut.cz/​pub/​hungry/​xword),​ then 
 +# use %d/%p instead of %f. 
 +# %d -> name of the current directory (pwd, without trailing slash) 
 +# %s -> "​selected files",​ i.e. space separated list of tagged files if any 
 +#       or name of the current file 
 +# %t -> list of tagged files 
 +# %u -> list of tagged files (they'​ll be untaged after the command) 
 +
 +# (If these 6 letters are in uppercase, they refer to the other panel. 
 +# But you shouldn'​t have to use it in this file.) 
 +
 +
 +# %cd -> the rest is a path mc should change into (cd won't work, since it's 
 +# a child process). ​ %cd handles even vfs names. 
 +
 +# %view -> the command you type will be piped into mc's internal file viewer 
 +# if you type only the %view and no command, viewer will load %f file 
 +# instead (i.e. no piping, so it is different to %view cat %f) 
 +# %view may be directly followed by {} with a list of any of 
 +# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for 
 +# text using backspace for bold and underscore) and unform 
 +# (no highlighting for nroff sequences) separated by commas. 
 +
 +# %var -> You use it like this: %var{VAR:​default}. ​ This macro will expand 
 +#       to the value of the VAR variable in the environment if it's set 
 +#       ​otherwise the value in default will be used.  This is similar to 
 +#       the Bourne shell ${VAR-default} construct. 
 +
 +# Rules are applied from top to bottom, thus the order is important. 
 +# If some actions are missing, search continues as if this target didn'​t 
 +# match (i.e. if a file matches the first and second entry and View action 
 +# is missing in the first one, then on pressing F3 the View action from 
 +# the second entry will be used. default should catch all the actions. 
 +
 +# Any new entries you develop for you are always welcome if they are 
 +# useful on more than one system. ​ You can post your modifications 
 +# as tickets at www.midnight-commander.org
  
-<​file>​ 
-View=%view{ascii} unrar lp %f 
-Open=%cd %p#urar 
-</​file>​ 
  
-Die perfekte Lösung des leidigen Problems "​schließe mc, aber nicht seinen Childprozeß"​:+### Changes ### 
 +
 +# Reorganization2000-05-01 Michal Svec <​rebel@penguin.cz>​
  
-<​file>​ 
-... 
-    Open=nohup kwrite %f </​dev/​null 2>&1 &  
-... 
-</​file>​ 
  
-===== minicom & USB-Serial-Konverter =====+### TODO ### 
 +
 +# Postscript Open:​ ps2svga [gs -DEVICE=jpeg|zgv or something] 
 +# Images asciiview 
 +
 +# All X Apps [Nothing/​Warning] if no DISPLAY 
 +# Not found [Default/​Warning] 
 +# Empty Output [Default/​Warning] 
 +# Edit:​ CopyOut+EDIT+CopyIn 
 +# Security Check gzip/bzip EDIT (mktemp) 
 +
 +# Maybe:​ Open/​XOpen/​GOpen/​KOpen/​... for Console/​X/​GNOME/​KDE/​etc.
  
-Problem: Mehrere hardwaregleiche Konverter an einem Rechner, die fix je ihrer Aufgabe zugeordnet werden sollen \\ 
  
-Lösungen:\+directory/\.(*)$ 
-\\ +    ​Open=tar ​-czf "​%d"​.tgz "​%d"​
-aKonverter verschiedener Hersteller einsetzen, dann: unterscheiden per vendor/​productID oder per Drivername \\ +
-b) FT232-Konverter verwenden, diesen entweder mit dem FTDI-Tool [[http://​rtr.ca/​ft232r/​ft232r_prog-1.24.tar.gz]] modifizieren oder die eingebaute unique number abfragen! \\+
  
-In /​sys/​bus/​usb-serial/​devices finden sich immer aktuelle symlinks: 
  
-<​file>​ +### IDEs ###########################################################################################​
-lrwxrwxrwx 1 root root 0 24. Apr 10:30 ttyUSB0 -> ../​../​../​devices/​pci0000:​00/​0000:​00:​1d.0/​usb2/​2-1/​2-1.4/​2-1.4:​1.0/​ttyUSB0 +
-lrwxrwxrwx 1 root root 0 24. Apr 10:30 ttyUSB1 -> ../​../​../​devices/​pci0000:​00/​0000:​00:​1d.0/​usb2/​2-1/​2-1.1/​2-1.1:​1.0/​ttyUSB1 +
-</​file>​+
  
-Dem Symlink folgen ​... dort liegt ein Pseudofile namens "​uevent",​ es enthält z.b. "​DRIVER=pl2303"​ oder "​DRIVER=ftdi_sio"​+shell/.geany 
 +        Open=geany %f &
  
-Beispiel zu Lösung a) (wenn Devicetreiber bekannt)+### CAD ############################################################################################​
  
-<​file>​ +EAGLE-6.6.0 must be installed for this!
-#!/​bin/​bash +
-MYDRIVERNAME=pl2303 +
-MYSERIALPORT="/​dev/​`ls /​sys/​bus/​usb-serial/​drivers/​$MYDRIVERNAME | grep ttyUSB`"​ +
-echo $MYSERIALPORT +
-</​file>​+
  
-bzw. als Einzeiler:+# EAGLE boards (related schematics are auto-opened by Eagle'​s Control Panel)
  
-<file> +regex/​\.(lbr)$ 
-echo "/dev/`ls /sys/bus/​usb-serial/​drivers/​pl2303 | grep ttyUSB`"​ + Open=nohup kwrite %f </dev/null >/dev/null 2>&1 & 
-</file>+#​ View=%view{ascii} ​file %f 
 + View=lbrContent %f | more
  
-Lösung b... wenn gleiche USB-SIO-Chips,​ was tun?+regex/​\.(brd|BRD)
 + Open=export LD_LIBRARY_PATH="/​opt/​eagle/​lib32";​ nohup /​opt/​eagle/​bin/​eagle %f </​dev/​null >/​dev/​null ​2>&1 &
  
-Anzeige aller Eigenschaften eines USB-SIOs (verschiedene Felder je nach Hersteller!!)+# AttentionThe extension *.sch is used by OrCAD and EAGLE as well! 
 +# So a wrapper bash script ~/​bin/​launchCAD is needed which serves both. 
 +# OrCAD386 schematics furthermore need a stripped-down DOSemu with OrCAD386 installed!
  
-  udevadm info --query=all --path=/sys/class/tty/ttyUSB1+regex/​\.(sch|SCH)$ 
 + Open=nohup launchCAD %f </dev/null >/dev/null 2>&1 &
  
-Anzeige der Short-Serialeines USB-SIOs (Achtung! Das tolle Feature gibt's nur bei FTDI)+qCAD dxf schematics (this needs qCAD-prof-3.12.something) 
 +regex/\.(dxf|DXF)
 + Open=nohup /​opt/​qcad/​qcad %f </​dev/​null >/​dev/​null 2>&1 &
  
-  udevadm info --query=property --path=/​sys/​class/​tty/​ttyUSB1 | grep ID_SERIAL_SHORT | cut -d= -f2+### Android stuff ##################################################################################​
  
-Oder ganz einfach mit dem Bordwerkzeug:​+# Android Development IDE (adt-bundle-linux-..) must be installed  
 +# and sdk/​platform-tools included in $PATH because aapt is needed here! 
 +# (a ripped standalone binary is sufficient)
  
-  ​# ls -l /dev/serial/by-id+# *.apk 
 +regex/​\.apk$ 
 + Open=%cd %p/​uzip://​ 
 + View=%view{ascii} aapt d badging "`echo "​%f"​ | sed '​s/​\\\//​g'​`"​ | grep -Ev "​label|icon|densit|main|other"​ 
 + 
 +### GPS stuff ######################################################################################​ 
 + 
 +# *.gpx 
 +regex/​\.(gpx|GPX)$ 
 +    Open=nohup gpxviewer %f </​dev/​null >/​dev/​null 2>&1 & 
 +    View=nohup gpxviewer %f </​dev/​null >/​dev/​null 2>&1 & 
 +     
 +### GIT Repo #######################################################################################​ 
 + 
 +# gitfs changeset 
 +regex/​^\[git\] 
 + Open=%cd %p/​changesetfs://​ 
 + View=%cd %p/​patchsetfs://​ 
 + 
 +### Mail ###########################################################################################​ 
 + 
 +# Mailboxes 
 +type/​^ASCII\ mail\ text 
 + Open=%cd %p/​mailfs://​ 
 + 
 +### Install Packages ###############################################################################​ 
 + 
 +# apt 
 +shell/​.deba 
 +        Open=%cd %p/​deba://​ 
 +        View=%view{ascii} apt-cache show `echo %p | sed '​s/​\([0-9a-z.-]*\).*/​\1/'​` 
 +# deb 
 +regex/​\.u?​deb$ 
 + Open=%cd %p/deb:// 
 + View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f 
 + 
 +# dpkg 
 +shell/​.debd 
 +        Open=%cd %p/​debd://​ 
 +        View=%view{ascii} dpkg -s `echo %p | sed '​s/​\([0-9a-z.-]*\).*/​\1/'​` 
 + 
 +# RPM packages (SuSE uses *.spm for source packages) 
 +regex/​\.rpm$ 
 + Open=%cd %p/rpm:// 
 + View=%view{ascii} if rpm --nosignature --version >/​dev/​null 2>&​1;​ then RPM="​rpm --nosignature"​ ; else RPM="​rpm"​ ; fi ; $RPM -qivlp --scripts %f 
 +         
 +### Archives #######################################################################################​ 
 + 
 +# .tar 
 +regex/​\.(tar|TAR)$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} tar tvvf - < %f 
 +  
 +# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk 
 +regex/​\.t([gp]?​z|ar\.g?​[zZ])$|\.ipk|\.gem$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .tar.bz 
 +regex/​\.tar\.bz$ 
 + # Open=%cd %p/​utar://​ 
 + View=%view{ascii} bzip -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .tar.bz2, .tar.b2 
 +regex/​\.t(ar\.bz2|bz2?​|b2)$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} bzip2 -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .tar.lzma, .tlz 
 +regex/​\.t(ar\.lzma|lz)$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} lzma -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .tar.xz, .txz 
 +regex/​\.t(ar\.xz|xz)$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} xz -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .tar.F - used in QNX 
 +regex/​\.tar\.F$ 
 + # Open=%cd %p/​utar://​ 
 + View=%view{ascii} freeze -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .qpr/.qpk - QNX Neutrino package installer files 
 +regex/​\.(qp[rk])$ 
 + Open=%cd %p/​utar://​ 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null | tar tvvf - 
 + 
 +# .lha 
 +type/^LHa\ .*archive 
 + Open=%cd %p/​ulha://​ 
 + View=%view{ascii} lha l %f 
 + 
 +# .ha 
 +regex/​\.([Hh][Aa])$ 
 + Open=%cd %p/uha:// 
 + View=%view{ascii} ha lf %f 
 + 
 +# .rar 
 +regex/​\.[rR]([aA][rR]|[0-9][0-9])$ 
 + Open=%cd %p/​urar://​ 
 + View=%view{ascii} rar v -c- %f 
 + 
 +# .ALZip 
 +regex/​\.(alz|ALZ)$ 
 + Open=%cd %p/​ualz://​ 
 + View=%view{ascii} unalz -l %f 
 + 
 +# .cpio 
 +shell/​.cpio.Z 
 + Open=%cd %p/​ucpio://​ 
 + View=%view{ascii} gzip -dc %f | cpio -itv 2>/​dev/​null 
 + 
 +shell/​.cpio.xz 
 + Open=%cd %p/​ucpio://​ 
 + View=%view{ascii} xz -dc %f | cpio -itv 2>/​dev/​null 
 + 
 +shell/​.cpio.gz 
 + Open=%cd %p/​ucpio://​ 
 + View=%view{ascii} gzip -dc %f | cpio -itv 2>/​dev/​null 
 + 
 +shell/​.cpio 
 + Open=%cd %p/​ucpio://​ 
 + View=%view{ascii} cpio -itv < %f 2>/​dev/​null 
 + 
 +# ls-lR 
 +regex/​(^|\.)ls-?​lR(\.gz|Z|bz2)$ 
 + Open=%cd %p/​lslR://​ 
 + 
 +# patch 
 +regex/​\.(diff|patch)(\.bz2)$ 
 + Open=%cd %p/​patchfs://​ 
 + View=%view{ascii} bzip2 -dc %f 2>/​dev/​null 
 + 
 +regex/​\.(diff|patch)(\.(gz|Z))$ 
 + Open=%cd %p/​patchfs://​ 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null 
 + 
 +regex/​\.(diff|patch)$ 
 + Open=%cd %p/​patchfs://​ 
 + View=%view{ascii} /bin/cat %f 2>/​dev/​null 
 + 
 +# ar library 
 +regex/​\.s?​a$ 
 + Open=%cd %p/uar:// 
 + #​Open=%view{ascii} ar tv %f 
 + View=%view{ascii} file %f && nm -C %f 
 + 
 +# trpm 
 +regex/​\.trpm$ 
 + Open=%cd %p/​trpm://​ 
 + View=%view{ascii} rpm -qivl --scripts `basename %p .trpm` 
 + 
 +# 7zip archives (they are not man pages) 
 +regex/​\.(7z|7Z)$ 
 + Open=%cd %p/u7z:// 
 + View=%view{ascii} 7za %f 2>/dev/null 
 + 
 +# ace 
 +regex/\.(ace|ACE)$ 
 + Open=%cd %p/​uace://​ 
 + View=%view{ascii} unace l %f 
 + Extract=unace x %f 
 + 
 +# arc 
 +regex/​\.(arc|ARC)$ 
 + Open=%cd %p/​uarc://​ 
 + View=%view{ascii} arc l %f 
 + Extract=arc x %f '​*'​ 
 + Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "​$I";​ then arc x $I %f; fi 
 + 
 +# zip  
 +regex/​\.([Zz][Ii][Pp])$ 
 + Open=%cd %p/​uzip://​ 
 + View=%view{ascii} unzip -v %f 
 + 
 +# zoo 
 +regex/​\.([Zz][Oo][Oo])$ 
 + Open=%cd %p/​uzoo://​ 
 + View=%view{ascii} zoo l %f 
 + 
 +# gzip 
 +type/​^gzip 
 + Open=gzip -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null 
 + 
 +regex/​\.(gz|Z)$ 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null 
 + 
 +# bzip2 
 +type/​^bzip2 
 + Open=bzip2 -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} bzip2 -dc %f 2>/​dev/​null 
 + 
 +regex/​\.bz2?​$ 
 + View=%view{ascii} bzip2 -dc %f 2>/​dev/​null 
 + 
 +# bzip 
 +type/​^bzip 
 + Open=bzip -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} bzip -dc %f 2>/​dev/​null 
 + 
 +# compress 
 +type/​^compress 
 + Open=gzip -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} gzip -dc %f 2>/​dev/​null 
 + 
 +# lzma 
 +regex/​\.lzma$ 
 + Open=lzma -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} lzma -dc %f 2>/​dev/​null 
 + 
 +# xz 
 +regex/​\.xz$ 
 + Open=xz -dc %f | %var{PAGER:​more} 
 + View=%view{ascii} xz -dc %f 2>/​dev/​null 
 + 
 +### File System Images #############################################################################​ 
 + 
 +# ISO9660 
 +regex/​\.([iI][sS][oO])$ 
 + Open=%cd %p/​iso9660://​ 
 + View=%view{ascii} isoinfo -l -i %f 
 + 
 +### Mirco$oft stuff ################################################################################​ 
 + 
 +# .arj 
 +regex/​\.a(rj|[0-9][0-9])$ 
 + Open=%cd %p/​uarj://​ 
 + View=%view{ascii} arj l %f 
 + 
 +# .cab 
 +regex/​\.([cC][aA][bB])$ 
 + Open=%cd %p/​ucab://​ 
 + View=%view{ascii} cabextract -l %f 
 +  
 +# msi 
 +regex/​\.([Mm][Ss][Ii])$ 
 + Open=%cd %p/​msiextract -D:// 
 + View=%view{ascii} msiextract -l %f 
 + 
 +### Sources ########################################################################################​ 
 + 
 +# C 
 +#shell/.c 
 + Include=editor 
 + 
 +regex/​\.(c|cpp|h)$ 
 + Include=editor 
 + 
 +# Fortran 
 +shell/.f 
 + Include=editor 
 + 
 +# C|Cpp Header 
 +regex/​\.(h|hpp)$ 
 + Include=editor 
 + 
 +# Asm51 
 +regex/​\.(S|s|D|d)$ 
 + Include=editor 
 + 
 +# C++ 
 +regex/​\.(C|cc|cpp)$ 
 + Include=editor 
 + 
 + 
 +### Binaries, Executables ############################################################################​ 
 + 
 +# .so libraries 
 +regex/​\.(so|so\.[0-9\.]*)$ 
 + View=%view{ascii} file %f && nm -C -D %f 
 + 
 +# Object 
 +type/^ELF 
 + View=%view{ascii} file %f && nm -C %f 
 + 
 + 
 +### Documentation & plaintext lists ##################################################################​ 
 + 
 +# *.txt *.mir *.csv *.log 
 +regex/​\.([tT][xX][tT]|[mM][iI][rR]|[cC][sS][vV]|[lL][oO][gG])$ 
 + Include=editor 
 + 
 +# awk filter scripts like "​fi:​xxx"​ 
 +regex/​(^fi:​.*)$ 
 + Include=editor 
 + 
 +shell/​README 
 + Include=editor 
 + 
 +shell/​minicom.cap 
 + Include=editor 
 + 
 +# Texinfo 
 +#​regex/​\.(te?​xi|texinfo)$ 
 + 
 +# GNU Info page 
 +type/^Info\ text 
 + Open=info -f %f 
 + 
 +shell/​.info 
 + Open=info -f %f 
 + 
 +# Manual page 
 +regex/​(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) cat %f ;; *) { zsoelim %f 2>/​dev/​null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) cat %f ;; *) { zsoelim %f 2>/​dev/​null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +# Perl pod page 
 +shell/​.pod 
 + Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} pod2man %f | nroff -c -Tlatin1 -mandoc 
 + 
 +# Troff with me macros. 
 +# Exception - "​read.me"​ is not a nroff file. 
 +shell/​read.me 
 + Open= 
 + View= 
 + 
 +shell/.me 
 + Open=nroff -c -Tlatin1 -me %f | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} nroff -c -Tlatin1 -me %f 
 + 
 +# Troff with ms macros. 
 +shell/.ms 
 + Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} nroff -c -Tlatin1 -ms %f 
 + 
 +# Manual page - compressed 
 +regex/​([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?​[Zz]$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +regex/​([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +regex/​([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +regex/​([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +regex/​([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$ 
 + Open=case %d/%f in */​log/​*|*/​logs/​*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:​more} 
 + View=%view{ascii,​nroff} case %d/%f in */​log/​*|*/​logs/​*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac 
 + 
 +# CHM 
 +regex/​\.(chm|CHM)$ 
 + Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &) 
 + 
 + 
 +### Images #########################################################################################​ 
 + 
 +type/^GIF 
 + Include=image 
 + 
 +type/​^JPEG 
 + View=%view{ascii} identify %f; test -x /​usr/​bin/​exif && echo && exif %f 2>/​dev/​null 
 + Include=image 
 + 
 +type/^PC\ bitmap 
 + Include=image 
 + 
 +type/^PNG 
 + Include=image 
 + 
 +type/​^TIFF 
 + Include=image 
 + 
 +type/^PBM 
 + Include=image 
 + 
 +type/^PGM 
 + Include=image 
 + 
 +type/^PPM 
 + Include=image 
 + 
 +type/​^Netpbm 
 + Include=image 
 + 
 +shell/​.xcf 
 + Open=nohup gimp %f </​dev/​null >/​dev/​null 2>&1 & 
 +#​ Open=nohup gimp %f >/​dev/​null 2>&1 & 
 + 
 +shell/​.xbm 
 + Open=bitmap %f 
 + 
 +shell/​.xpm 
 + Include=image 
 + View=sxpm %f 
 + 
 +shell/​.ico 
 + Include=image 
 + 
 + 
 +regex/​\.([pP][sS])$ 
 + Open=okular %f 2>/​dev/​null & 
 + 
 + 
 +### Sound files ####################################################################################​ 
 + 
 +# The below-listed debian packets must be installed for playing|viewing *.aac, *.wav, *.mp3, *.ogg files! 
 +# * mplayer 
 +# * sox 
 +# * libsox-fmt-all 
 +# * vorbis-tools 
 +# * ffmpeg 
 + 
 +
 +# ATTENTION! mplayer and ffmpeg cannot handle filenames with whitespaces,​ but play "​%f"​ can! 
 +# So there'​s an ugly sed workaround to remove unwanted backslashes 
 + 
 +# *.wav *.snd *.voc *.au *.smp *.aiff 
 +regex/​\.(wav|WAV|snd|SND|voc|VOC|au|AU|smp|SMP|aiff|AIFF)$ 
 + Open=play "​%f"​ 
 + 
 +# *.mp3 (cut relevant viewer output lines) 
 +regex/​\.(mp3|MP3)$ 
 + View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/​Freq:​ /,$p' | sed '/​Frame#/,​$d'​ 
 + Open=play "​%f"​ 
 + 
 +# *.ogg (cut first 5 and last 1 line of viewer output) 
 +regex/​\.(ogg|OGG)$ 
 + View=%view{ascii} ogginfo %f | tail -n+5 | head -n-1 
 + Open=play "​%f"​ 
 + 
 +# *.wma 
 +regex/​\.(wma|WMA)$ 
 + View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify "​%f"​ 2>/​dev/​null | head -n15 | tail -n8 
 + Open=mplayer -vo null "`echo "​%f"​ | sed '​s/​\\\//​g'​`"​ 
 + 
 +# *.aac *.m4a 
 +regex/​\.(aac|AAC|m4a|M4A)$ 
 +# Open=rm -f /​tmp/​tmp.mp3;​ ffmpeg -i "​%f"​ -ac 2 -ab 128k /​tmp/​tmp.mp3;​ play /​tmp/​tmp.mp3 
 +    Open=rm -f /​tmp/​tmp.mp3;​ ffmpeg -i "`echo "​%f"​ | sed '​s/​\\\//​g'​`"​ -ac 2 -ab 128k /​tmp/​tmp.mp3;​ play /​tmp/​tmp.mp3 
 + 
 + 
 +regex/​\.(mod|MOD|s3m|S3M|xm|XM|it|IT|mtm|MTM|669|stm|STM|ult|ULT|far|FAR)$ 
 +        Open=mikmod %f 
 +#​ Open=tracker %f 
 + 
 +regex/​\.([wW][aA][wW]22)$ 
 +       ​Open=vplay -s 22 %f 
 + 
 +regex/​\.([sS][pP][xX]|[fF][lL][aA][cC])$ 
 + Open=if [ "​$DISPLAY"​ = ""​ ]; then play %f; else (xmms %f >/​dev/​null 2>&1 &); fi 
 + 
 +regex/​\.([mM][iI][dD][iI]?​|[rR][mM][iI][dD]?​)$ 
 + Open=timidity %f 
 + 
 + 
 +### Playlists ######################################################################################​ 
 + 
 +regex/​\.([mM]3[uU]|[pP][lL][sS])$ 
 + Open=if [ -z "​$DISPLAY"​ ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/​dev/​null 2>&1 &); fi 
 + 
 +### Videos #########################################################################################​ 
 + 
 +regex/​\.(avi|AVI)$ 
 + Include=video 
 + 
 +regex/​\.(asfx|ASFX)$ 
 + Include=video 
 + 
 +regex/​\.(divx|DIVX)$ 
 + Include=video 
 + 
 +regex/​\.(mkv|MKV)$ 
 + Include=video 
 + 
 +regex/​\.(mov|MOV|qt|QT)$ 
 + Include=video 
 + 
 +regex/​\.(mp4|MP4|m4v|M4V|mpeg|MPEG)$ 
 + Include=video 
 + 
 +# MPEG-2 TS container + H.264 codec 
 +regex/​\.(mts|MTS)$ 
 + Include=video 
 + 
 +regex/​\.(ts|TS)$ 
 + Include=video 
 + 
 +regex/​\.(vob|VOB)$ 
 + Include=video 
 + 
 +regex/​\.(wmv|WMV)$ 
 + Include=video 
 + 
 +regex/​\.(flicv|FLICV)$ 
 + Include=video 
 + 
 +regex/​\.(ogm|OGM)$ 
 + Include=video 
 + 
 +regex/​\.(ram|RAM)$ 
 + Open=(realplay %f >/​dev/​null 2>&1 &) 
 + 
 +# Exception: .3gp are video files not manual pages 
 +regex/​\.(3gp|3GP])$ 
 + Include=video 
 + 
 +### Documents ######################################################################################​ 
 + 
 +# Concerning old StarOffice formats: 
 +# There must be a symlink: ​ /​opt/​libreoffice3.0 -> /​usr/​lib/​libreoffice 
 +# So the old but Debian-supplied version (which still reads StarOffice files) .. 
 +# .. can coexist with the newest /​opt/​libreoffice4.x installed from Debian packet sources 
 +# Debian packets needed for opening/​viewing these files: 
 +# * odt2txt 
 +# * libzip2 
 + 
 +# *.sdc *.sdw 
 +regex/​\.(sdc|SDC|sdw|SDW)$ 
 + View=/​opt/​libreoffice3.x/​program/​soffice --nologo --view %f & 
 + Open=/​opt/​libreoffice3.x/​program/​soffice --nologo %f & 
 + 
 +# *.sxc *.sxw *.odc *.ods *.odt *.odg *.docx *.xslx *.xls *.xlw *.rtf *.doc *.dot *.wri *.vsd *.pptx 
 +regex/​\.(sxc|SXC|sxw|SXW|odc|ODC|ods|ODS|odt|ODT|odg|ODG|docx|DOCX|xlsx|XLSX|xls|XLS|xlw|XLW|rtf|RTF|doc|DOC|dot|DOT|wri|WRI|vsd|VSD|pptx|PPTX)$ 
 + View=libreoffice --nologo --view %f 2>/​dev/​null & 
 + Open=libreoffice --nologo %f 2>/​dev/​null & 
 + 
 +# Postscript 
 +type/​^PostScript 
 + View=%view{ascii} ps2ascii %f 
 + Open=(gv %f &) 
 + 
 +# PDF 
 +type/^PDF 
 + View=%view{ascii} pdftotext %f - 
 + Open=nohup okular %f </​dev/​null >/​dev/​null 2>&1 & 
 + 
 +# html 
 +regex/​\.(htm|HTM|html|HTML)$ 
 +# Open=(if test -n ""​ && test -n "​$DISPLAY";​ then ( file://​%d/​%p &) 1>&​2;​ else links %f || lynx -force_html %f || ${PAGER:​-more} %f; fi) 2>/​dev/​null 
 +#​ View=%view{ascii} links -dump %f 2>/​dev/​null || w3m -dump %f 2>/​dev/​null || lynx -dump -force_html %f 
 + 
 + Open=~/​firefox/​firefox %f 
 + 
 +# AbiWord 
 +shell/​.abw 
 + Open=(abiword %f &) 
 + 
 +# Framemaker 
 +type/​^FrameMaker 
 + Open=fmclient -f %f 
 + 
 +# DVI 
 +regex/​\.(dvi|DVI)$ 
 + Open=run-mailcap %f 2>&1 & 
 + View=%view{ascii} catdvi %f 
 + 
 +# TeX 
 +regex/​\.(tex|TEX)$ 
 + Include=editor 
 + 
 +# DjVu 
 +regex/​\.(djvu?​|DJVU?​)$ 
 + Open=djview %f & 
 + View=%view{ascii} djvused -e print-pure-txt %f 
 + 
 +### Miscellaneous ##################################################################################​ 
 + 
 +# Makefile 
 +regex/​[Mm]akefile$ 
 + Open=make -f %f %{Enter parameters} 
 + 
 +# Imakefile 
 +shell/​Imakefile 
 + Open=xmkmf -a 
 + 
 +# Makefile.PL (MakeMaker) 
 +regex/​^Makefile.(pl|PL)$ 
 + Open=%var{PERL:​perl} %f 
 + 
 +# dbf 
 +regex/​\.(dbf|DBF)$ 
 +       ​Open=%view{ascii} dbview %f 
 +       ​View=%view{ascii} dbview -b %f 
 + 
 +# REXX script 
 +regex/​\.(rexx?​|cmd)$ 
 +       ​Open=rexx %f %{Enter parameters};​echo "Press ENTER";​read y 
 + 
 +# Disk images for Commodore computers (VIC20, C64, C128) 
 +regex/​\.(d64|D64)$ 
 + Open=%cd %p/​uc1541://​ 
 + View=%view{ascii} c1541 %f -list 
 + Extract=c1541 %f -extract 
 + 
 +# Glade, a user interface designer for GTK+ and GNOME 
 +regex/​\.(glade|GLADE)$ 
 + Open=if glade-3 --version >/​dev/​null 2>&​1;​ then (glade-3 %f >/​dev/​null 2>&1 &); else (glade-2 %f >/​dev/​null 2>&1 &); fi 
 + 
 +# Gettext Catalogs 
 +shell/.mo 
 + View=%view{ascii} msgunfmt %f || cat %f 
 + 
 +# lyx 
 +regex/​\.(lyx|LYX)$ 
 + Open=lyx %f 
 + View=%view{ascii} lyxcat %f 
 + 
 +# torrent 
 +regex/​\.(torrent|TORRENT)$ 
 + View=%view{ascii} ctorrent -x %f 2>/​dev/​null 
 + 
 +### Default ########################################################################################​ 
 + 
 +# Default target for anything not found above 
 +default/* 
 + Open= 
 + View= 
 + 
 +### Includes ######################################################################################​ 
 + 
 +include/​editor 
 + View=%view{ascii} file %f && nm -C %f 
 + Open=nohup kwrite %f </​dev/​null >/​dev/​null 2>&1 & 
 + 
 +include/​image 
 + Open=(gwenview %f 2>/​dev/​null &) 
 + View=%view{ascii} identify %f 
 + 
 +include/​video 
 + Open=(mplayer %f >/​dev/​null 2>&1 &) 
 + 
 +### EOF ### 
 +</​file></​p></​pre></​html>​ 
 + 
 +===== mc-user menu file ("​F2"​) ===== 
 + 
 +(gilt so für mc-4.8.22 - Debian-buster) \\ 
 +Das File wird erwartet in ... \\ 
 +(A) ~/.mc.menu \\ 
 +(B) ~/​.config/​mc/​menu \\ 
 +(C) systemweit: /​etc/​mc/​mc.menu \\ 
 + 
 +Achtung auf de Namensverwirrung! Das File muß UNBEDINGT $USER gehören und mode 600 (rw-------) haben! 
 + 
 +Die Bearbeitung aus dem mc-GUI ist verwirrend dank 2 Möglichkeiten:​ \\ 
 + 
 +1. "​Befehl"​ - "​Menüdatei bearbeiten"​ - "​Lokal"​ ... holt systemweite Kopie (C) und läßt sie als (B) editieren \\ 
 +2. "​Befehl"​ - "​Menüdatei bearbeiten"​ - "​Benutzer"​ ... läßt (B) editieren \\ 
 + 
 +"​F2"​ verwendet vorzugsweise (A), sonst (B), sonst (C) 
 + 
 +Ich habe ein mc-Bastelprojekt,​ am besten (A) nicht anlegen und (B) als ein symlink zum Bastelprojekt verwenden. 
 +Dann wird die Möglichkeit 1. nicht mehr anwendbar. 
 + 
 +Derzeit sieht das so aus: 
 +<​html><​pre><​p style="​color:​ yellow; background-color:​ grey; font-size: 9px"><​file mc.menu>​ 
 +shell_patterns=0 ​       # 1 = use shell patterns, 0 = use regex 
 + 
 +#### mc-menu for Debian-buster 2019-06-03 ###################################​ 
 +#       ​(beautified ​by koarrl) 
 +
 +#         ​ATTENTION! 
 +#       * mc searches for this file ... 
 +#         a) in ~/​.mc.menu 
 +#         b) in ~/​.mc/​menu 
 +#         c) in /​etc/​mc/​mc.menu 
 +#       * This file must be owned by $USER, mode 600 (rw-------) 
 +#       * Leading blanks are essential, so better edit this with mcedit! 
 +#       * Blank or comment lines will separate user menu macro items 
 +
 +#   For more info see http://​linuxcommand.org/​lc3_adv_mc.php 
 +
 +#   ​%% ​ The % character 
 +#   ​%f ​ The current file (if non-local fs, file will be copied locally and %f will be full path to it) 
 +#   ​%p ​ The current file 
 +#   ​%d ​ The current working directory 
 +#   ​%x ​ The current file's extension 
 +#   ​%b ​ The current file's basename (w/o extension) 
 +#   ​%s ​ Selected: the tagged files if any, otherwise the current file 
 +#   ​%t ​ The list of tagged files 
 +#   ​%u ​ The list of tagged files - and they are untagged on return from expand_format! 
 +#   %view Runs the commands and pipes standard output to the view command 
 +
 +#   If %view is immediately followed by '​{',​ recognize keywords ascii, hex, nroff and unform 
 +
 +#   If the format letter is in uppercase, it refers to the other panel 
 +
 +#   With a number followed the % character you can turn quoting on (default) and off. 
 +#   For example: 
 +#   ​%f ​   quote expanded macro 
 +#   ​%1f ​  ​ditto 
 +#   ​%0f ​  ​don'​t quote expanded macro 
 +
 +# = or =?  .. default conditional - sets the default entry on a menu 
 +# + or +?  .. addition conditional - determines if a menu entry is displayed 
 +
 +# A conditional is added to a menu entry just before the first line.  
 +# It starts with either a + (for an addition) or a = (for a default) followed by one or more sub-conditions. 
 +# Sub-conditions are separated by either a | (meaning or) or a & (meaning and) allowing us to express some complex logic. 
 +# It is also possible to have a combined addition and default conditional by beginning the conditional with =+ or +=. 
 +# Two separate conditionals,​ one addition and one default, are also permitted preceding a menu entry. 
 +
 +# sub-conditions 
 +# -------------- 
 +# f pattern ​    Match currently selected file 
 +# F pattern ​    Match last selected in other panel 
 +# d pattern ​    Match currently selected directory 
 +# D pattern ​    Match last selected directory in other panel 
 +# t type        Type of currently selected file 
 +# T type        Type of last selected file in other panel 
 +# x filename ​   File is executable 
 +# ! sub-cond ​   Negate result of sub-condition 
 +
 +# file types 
 +# ---------- 
 +# t r   ​regular file 
 +# t d   ​directory 
 +# t n   not a directory 
 +# t l   ​link 
 +# t x   ​executable file 
 +# t t   ​tagged 
 +# t c   ​character device 
 +# t b   block device 
 +# t f   FIFO (pipe) 
 +# t s   ​socket 
 +
 +##############################################################################​ 
 + 
 +------- (by koarrl 2019-06-03) ------- 
 + 
 +# ---- "​d"​ ... diff 2 tagged files ------------------------------------------- 
 +#       if only one file is tagged: compare selected against tagged 
 +#       if more than 2 files are tagged: take #1 & 2, more are ignored 
 + 
 + = + t t 
 +d       diff tagged files 
 +        echo "​------------"​ 
 +        echo "​%%d/​%%t="​%d/​%t ​       # list of tagged files in current panel (bright yellow) 
 +        echo "​%%D/​%%T="​%D/​%T ​       # list of tagged files in opposite panel (bright yellow) 
 +        echo 
 +        echo "​%%d/​%%f="​%d/​%f ​       # current file in current panel (light blue) 
 +        echo "​%%D/​%%F="​%D/​%F ​       # current file in opposite panel 
 +        echo 
 +        echo "​%%d/​%%p="​%d/​%p 
 +        echo "​%%D/​%%P="​%D/​%P 
 +        echo 
 +        echo "​%%d/​%%s="​%d/​%s 
 +        echo "​%%D/​%%S="​%D/​%S 
 +        echo "​------------"​ 
 +        if [ "​%T"​ != ""​ ]; then 
 +            MYLEFT=%D/​`echo %T|cut -d" " -f1` 
 +            MYRIGHT=%d/​`echo %t|cut -d" " -f1` 
 +            echo "​kompare "​$MYLEFT"​ "​$MYRIGHT 
 +            nohup kompare $MYLEFT $MYRIGHT >/​dev/​null 2>&1 &            # diff first tagged files in different panels 
 +        else 
 +            MYFILES=`echo %t|cut -d" " -f1-2` 
 +            echo "​kompare "​$MYFILES 
 +            nohup kompare %d/$MYFILES >/​dev/​null 2>&1 &                 # diff first 2 tagged files in current panel 
 +        fi 
 + 
 +# ---- "​r",​ "​R"​ ... rename pics and videos by their EXIF date ---------------- 
 +#       ​Depends on koarltool "​RenameByExifdates-0.05"​ or newer! 
 + 
 + + t t 
 +r       ​rename tagged pix & vids by EXIF dates 
 +        /​home/​koarl/​bin/​RenameByExifdates %u 
 + 
 + + t t 
 +R       ​rename tagged pix & vids by EXIF dates & backup 
 +        /​home/​koarl/​bin/​RenameByExifdates b %u 
 + 
 +# ---- "​S"​ ... synchronize left & right panel using rsync -------------------- 
 + 
 +S       rsync both panels 
 +        rsync -rvcb %D/* %d          # copy newer files from %D to %d & create backups if needed 
 +        rsync -rvcb %d/* %D          # copy newer files from %d to %D & create backups if needed 
 + 
 +# ---- "​X"​ ... delete tagged files if a copy exists in the other panel ------- 
 + 
 + + t t 
 +X       ​delete tagged files if copy exists in other panel 
 +        if [ %d = %D ]; then 
 +            echo "The two directories must be different."​ 
 +            exit 1 
 +        fi 
 +        for i in %t ; do 
 +            if [ -f %D/"​$i"​ ]; then 
 +                SUM1=`sum "​$i"​` 
 +                SUM2=`sum %D/"​$i"​` 
 +                if [ "​$SUM1"​ = "​$SUM2"​ ]; then 
 +                    rm "​$i"​ && echo "${i}: DELETED."​ 
 +                else 
 +                    echo "$i and "​%D"/​$i differ: NOT deleted."​ 
 +                fi 
 +            else 
 +                echo "$i has no copy in "​%D":​ NOT deleted."​ 
 +            fi 
 +        done 
 + 
 +# ---------------------------------------------------------------------------- 
 +</​file></​p></​pre></​html>​ 
 + 
 +===== minicom & USB-Serial-Konverter ===== 
 + 
 +Problem: Mehrere hardwaregleiche Konverter an einem Rechner, die fix je ihrer Aufgabe zugeordnet werden sollen \\ 
 + 
 +Lösungsvarianten:​\\ 
 +a) udev verstehen und verwenden (bevorzugt!) 
 + 
 +Neuen Serialconverter anstecken, mit .. 
 + 
 +  # dmesg | tail -n20  
 +   
 +.. seinen unique string herausfinden. 
 +Nun ein File wie z.B. "/​etc/​udev/​rules.d/​z97_ftdi_usbsio.rules"​ anlegen. 
 +Das ist eine Liste verschiedener Device-Individuen, die sich in einer Eigenschaft unterscheiden lassen.
  
 <​file>​ <​file>​
-insgesamt 0 +SUBSYSTEM=="​tty",​ ATTRS{idVendor}=="​0403",​ ATTRS{idProduct}=="​6001",​ ATTRS{serial}=="​FTDXBY8S",​ SYMLINK+="​ftdi_digitus"​
-lrwxrwxrwx 1 root root 13 Okt  3 15:14 usb-FTDI_UM232R_USB__-__Serial_FTB3LVOV-if00-port0 -> ../​../​ttyUSB0 +
-lrwxrwxrwx 1 root root 13 Okt  3 15:17 usb-FTDI_UM232R_USB__-__Serial_FTE4CVIT-if00-port0 -> ../​../​ttyUSB1+
 </​file>​ </​file>​
  
-Schöne einzeilige Lösung zur Auffindung des Devicenamens des FTDI-Moduls ​namens "Serial_FTE4CVIT":+Neu-Einlesen der Rules-Tabellen geschieht mit: 
 + 
 +  # udevadm control --reload 
 + 
 +Und dann das Device einmal ab- und wieder anstecken. Damit wird in /dev ein Symlink ​namens "ftdi_digitus" ​angelegt. 
 + 
 +\\ 
 +b) (DONTUSE!) Devices unterscheiden per vendor/​productID oder per Drivername \\ 
 +c) (DONTUSE, veraltet!) FT232-Konverter verwenden, diesen entweder mit dem FTDI-Tool [[http://​rtr.ca/​ft232r/​ft232r_prog-1.24.tar.gz]] modifizieren oder die eingebaute unique number abfragen! \\
  
-  # ls -l /​dev/​serial/​by-id|grep "​Serial_FTE4CVIT"​|rev|cut -d"/"​ -f1|rev 
  
 Unbedingt nötig sind erst mal ein paar Minimal-Setupfiles nach Bedarf. \\ Unbedingt nötig sind erst mal ein paar Minimal-Setupfiles nach Bedarf. \\
Zeile 491: Zeile 1413:
 </​file>​ </​file>​
  
-Und dann: Beispiel für ein KDE-Desktop-Linkfile,​ das minicom-2.6.1 ​für das FTDI-Modul ​mit "​Serial_FTB3"​ im Namen anwirft:+Und dann: Beispiel für ein KDE-Desktop-Linkfile,​ das minicom für das FTDI-Modul ​unter /​dev/​ftdi_digitus ​anwirft:
  
 <​file>​ <​file>​
 [Desktop Entry] [Desktop Entry]
-Comment[de]=+Comment[de_AT]=
 Comment= Comment=
 Encoding=UTF-8 Encoding=UTF-8
-Exec=xterm -geometry ​118x82 ​-fg white -bg black -fn 7x13 +sb -T '​minicom ​FTDI_B3_38400' -e minicom -c on 8n1+le -b 38400 -D "/dev/"`ls -l /​dev/​serial/​by-id|grep "​Serial_FTB3"​|rev|cut -d"/"​ -f1|rev` +Exec=xterm -geometry ​118x16+1680+0 ​-fg white -bg black -fn 7x13 +sb -T '​minicom ​Digitus' -e minicom -c on 8n1+le+lf -b 9600 -D /dev/ftdi_digitus 
-GenericName[de]=+GenericName[de_AT]=
 GenericName= GenericName=
-Icon=terminal+Icon=utilities-terminal
 MimeType= MimeType=
-Name[de]=USB0_38400 +Name[de_AT]=FTDI_SPI_38400 
-Name=USB0_38400+Name=FTDI_SPI_38400
 Path= Path=
 ServiceTypes= ServiceTypes=
Zeile 517: Zeile 1439:
 X-DCOP-ServiceType= X-DCOP-ServiceType=
 X-KDE-SubstituteUID=false X-KDE-SubstituteUID=false
-X-KDE-Username=+X-KDE-Username=root
 </​file>​ </​file>​
  
-Eigentlich sollte das ja mit udev funktionieren:​ 
- 
-in /​etc/​udev/​rules.d ein file wie z.B. "​99-persistent-usbserial.rules"​ anlegen. 
-Das ist eine Liste verschiedener Device-Individuen,​ die sich in einer Eigenschaft unterscheiden lassen. 
-Hier: die Seriennummer des zuletzt angesteckten devices. ​ 
-Diese läßt sich herausfinden mit 
- 
-  # dmesg|tail 
-  ​ 
-Nun ein File wie z.B. "/​etc/​udev/​rules.d/​99-persistent-usbserial.rules"​ anlegen: 
- 
-<​file>​ 
-SUBSYSTEM=="​tty",​ ATTRS{idVendor}=="​04d8",​ ATTRS{idProduct}=="​00df",​ ATTRS{serial}=="​0000987654",​ SYMLINK+="​mcusbser_1"​ 
-</​file>​ 
- 
-Neu-Einlesen der Rules-Tabellen:​ 
- 
-  # udevadm control --reload 
  
-Nun wird immer nach Anstecken in /dev ein Symlink namens "​mcusbser_1"​ angelegt. \ 
-Die Erkennung des Ansteckens kann aber ca. 20sec dauern. 
  
 ===== minicom & Arduino ===== ===== minicom & Arduino =====
de/koarrl_alzlinux.1548842273.txt.gz · Zuletzt geändert: 2019/01/30 10:57 von koarrl