https://wiki.archlinux.de/api.php?action=feedcontributions&user=Boenki&feedformat=atomwiki.archlinux.de - Benutzerbeiträge [de]2024-03-29T07:33:08ZBenutzerbeiträgeMediaWiki 1.41.0https://wiki.archlinux.de/index.php?title=Iptables&diff=22973Iptables2021-04-05T09:29:25Z<p>Boenki: lf</p>
<hr />
<div>{{unvollständig}}{{SEITENTITEL:iptables}}<br />
Der Kernel selber hat mit 'Netfilter' einen sehr mächtigen und sicheren Paketfilter. Der Paketfilter untersucht die Pakete die deinen Rechner verlassen oder erreichen. Mit anderen Worten... er reagiert auf Netzwerkpaket je nach Art, Quelle, Ziel usw. zum Beispiel mit Zurückweisung.<br />
Das entsprechende Programm zur Steuerung des Paketfilters lautet 'iptables'.<br />
<br />
{{installation|repo=core|paket=iptables}}<br />
<br />
== Firewall zurücksetzen ==<br />
<br />
Der Aufbau neuer Regeln sollte immer damit beginnen, alle vorhandenen Regeln zu löschen (flush):<br />
<br />
# iptables -F<br />
<br />
== Standardverhalten festlegen ==<br />
{{hinweis|Die Änderungen treten sofort in Kraft!}}<br />
Bei iptables Stellen alle Regeln Ausnahmen vom Standardverhalten ab. Dabei stellt man die Richtlinien OUTPUT, INPUT und FORWARD ein. Wie die Namen suggerieren, steht OUTPUT für alle ausgehenden Pakete, INPUT für alle eingehenden und FORWARD für alle Weitergeleiteten. Solange es sich nicht um eine Firewall oder einen Router handelt, sollte FORWARD auf das Verhalten DROP gesetzt werden, d.h. alle Pakete werden einfach „fallen gelassen“.<br />
<br />
# iptables -P FORWARD DROP<br />
<br />
Eine einfache Firewall erlaubt allen Ausgehenden Datenverkehr:<br />
<br />
# iptables -P OUTPUT ACCEPT<br />
<br />
Im Gegensatz dazu wird aller Eingehender Verkehr Blockiert, und nur, wenn benötigt, einzelne Ports geöffnet:<br />
<br />
# iptables -P INPUT DROP<br />
<br />
== Einzelne Ports öffnen ==<br />
<br />
In vielen Fällen kann es hilfreich sein, auch auf Desktopmaschinen mit SSH zuzugreifen. Dafür muss der Port 22 für TCP geöffnet werden:<br />
<br />
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT<br />
<br />
Zudem ist es in heterogenen Netzwerken meist erwünscht, Datenverkehr zum Sambaserver zuzulassen:<br />
<br />
# iptables -A INPUT -p tcp --dport 139 -j ACCEPT<br />
# iptables -A INPUT -p tcp --dport 445 -j ACCEPT<br />
<br />
== Alle bereits aufgebauten Verbindungen Durchwinken ==<br />
<br />
Damit nicht eingehender Verkehr, der als Antwort auf ausgehenden Verkehr erfolgte, blockiert wird, werden die entsprechenden Pakete anhand ihres Status durchgewinkt:<br />
<br />
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br />
<br />
== Lokalen Netzwerkverkehr zulassen ==<br />
<br />
Viele Systemdienste verlassen sich darauf, dass sie über die Loopback–Schnittstelle kommunizieren können. Daher sollte jeglicher Datenverkehr über die Schnittstelle lo zugelassen werden:<br />
<br />
# iptables -A INPUT -i lo -j ACCEPT<br />
<br />
== Regeln Speichern und beim nächsten Systemstart wiederherstellen ==<br />
<br />
Damit die Regeln nach dem nächsten Boot immer noch verfügbar sind, müssen die Regeln gespeichert werden:<br />
<br />
# iptables-save >/etc/iptables/iptables.rules<br />
<br />
Für das Laden der Regeln beim Start ist der Dienst iptables zuständig:<br />
<br />
# systemctl enable iptables.service<br />
<br />
<br />
== (Alt) Beispielskript ==<br />
Hier ein Script um iptables für einen Rechner der direkt am Internet hängt einzurichten.<br />
<br />
#!/bin/bash<br />
<br />
#Ports: Hier eintragen welche Ports geöffnet werden sollen<br />
SERVICES_UDP="" #freigegebene UDP-Ports <br />
SERVICES_TCP="22 80" #freigegebene TCP-Ports (Hier sshd und http)<br />
<br />
#Alle vorhandenen Regeln löschen<br />
iptables -F<br />
iptables -t nat -F<br />
iptables -t mangle -F<br />
iptables -X<br />
iptables -t nat -X<br />
iptables -t mangle -X<br />
<br />
#Grundregeln<br />
iptables -P OUTPUT ACCEPT<br />
iptables -P INPUT DROP<br />
iptables -P FORWARD DROP<br />
<br />
#Sicherheit<br />
iptables -N other_packets #Tabelle "other_packets" erzeugen<br />
iptables -A other_packets -p ALL -m state --state INVALID -j DROP #Kaputte Pakete verwerfen<br />
iptables -A other_packets -p icmp -m limit --limit 1/s -j ACCEPT #ICMP auf max. 1 Paket/Sekunde limitieren<br />
iptables -A other_packets -p ALL -j RETURN #Tabelle "other_packets" verlassen<br />
<br />
iptables -N service_sec #Tabelle "services_sec" erzeugen<br />
iptables -A service_sec -p tcp --syn -m limit --limit 2/s -j ACCEPT #SYN-Flood Attacken<br />
iptables -A service_sec -p tcp ! --syn -m state --state NEW -j DROP #TCP-SYN-Pakete ohne Status NEW verwerfen<br />
iptables -A service_sec -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT #Portscanner ausschalten<br />
iptables -A service_sec -p tcp --tcp-flags ALL ALL -m limit --limit 1/h -j ACCEPT #Portscanner ausschalten<br />
iptables -A service_sec -p ALL -j RETURN #Tabelle "services" verlassen<br />
<br />
iptables -N reject_packets #Tabelle "reject_packets" erzeugen<br />
iptables -A reject_packets -p tcp -j REJECT --reject-with tcp-reset #TCP Pakete(Protokoll) zurückweisen<br />
iptables -A reject_packets -p udp -j REJECT --reject-with icmp-port-unreachable #UDP Pakete(Protokoll) zurückweisen<br />
iptables -A reject_packets -p icmp -j REJECT --reject-with icmp-host-unreachable #ICMP Pakete(Protokoll) zurückweisen (bei mehr als 1Paket/Sekunde [s.o.])<br />
iptables -A reject_packets -j REJECT --reject-with icmp-proto-unreachable #Alle anderen Pakete(Protokolle) zurückweisen <br />
iptables -A reject_packets -p ALL -j RETURN #Tabelle "reject_packets" verlassen<br />
<br />
#Dienste<br />
iptables -N services #Tabelle für die Dienste erzeugen<br />
for port in $SERVICES_TCP ; do #Für jeden TCP Port (oben definiert) folgendes tun:<br />
iptables -A services -p tcp --dport $port -j service_sec #Bei Verbindungen auf TCP Port "$port in die Tabelle "services_sec" springen<br />
iptables -A services -p tcp --dport $port -j ACCEPT #Bei Verbindungen auf TCP Port "$port Verbindung zulassen<br />
done<br />
for port in $SERVICES_UDP ; do #Für jeden UDP Port (oben definiert) folgendes tun:<br />
iptables -A services -p udp --dport $port -j service_sec #Bei Verbindungen auf UDP Port "$port" in die Tabelle "services_sec" springen<br />
iptables -A services -p udp --dport $port -j ACCEPT #Bei Verbindungen auf UDP Port "$port Verbindung zulassen<br />
done<br />
iptables -A services -p ALL -j RETURN #Tabelle "services" verlassen<br />
<br />
#INPUT<br />
iptables -A INPUT -p ALL -i lo -j ACCEPT #Alle Pakete vom Loopback Interface zulassen<br />
iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT #Bereits vorhandene Verbindungen zulassen<br />
iptables -A INPUT -p ALL -j other_packets #In die Tabelle "other_packets" springen<br />
iptables -A INPUT -p ALL -j services #In die Tabelle "services" gehen<br />
iptables -A INPUT -p ALL -m limit --limit 10/s -j reject_packets #Nicht erlaubte Pakete zurückweisen, max 10Pakete/Sekunde (Tabelle "reject_Packets")<br />
iptables -A INPUT -p ALL -j DROP #Alles andere verwerfen<br />
<br />
#OUTPUT:<br />
iptables -A OUTPUT -p ALL -j ACCEPT #Ausgehende Pakete erlauben<br />
<br />
#Speichern<br />
/etc/rc.d/iptables save <br />
<br />
<br />
== Weblinks ==<br />
<br />
* [http://www.pl-berichte.de/work/firewall/fire1.html#2.1 Grundlagen Firewall] {{sprache|de}}<br />
* [http://netfilter.org/documentation/index.html#documentation-howto netfilter/iptables HOWTO]{{sprache|en}}<br />
* [http://www.selflinux.org/selflinux/html/iptables.html iptables auf SelfLinux]{{sprache|de}}<br />
<br />
[[Kategorie:Sicherheit]]<br />
[[Kategorie:Netzwerk]]<br />
[[en:iptables]]<br />
[[es:Iptables]]<br />
[[fr:Iptables]]<br />
[[it:Iptables]]<br />
[[ja:Iptables]]<br />
[[ru:Iptables]]<br />
[[sr:Iptables]]<br />
[[zh-CN:Iptables]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Rosettastein_Paketverwaltung&diff=20655Rosettastein Paketverwaltung2018-03-06T01:27:34Z<p>Boenki: Frauen verstehen das auch ohne -Innen</p>
<hr />
<div>{{Unvollständig}}<br />
Dieser Artikel beschreibt unterschiedliche Möglichkeiten der Paketverwaltung unter Linux. Analog zum historisch belegten {{wikipedia|Stein_von_Rosette|Rosettastein}} werden Anweisungen in mehreren Sprachen nebeneinander gestellt. In diesem Fall sind es Anweisungen in der „Sprache“ verschiedener Distributionen.<br />
<br />
Anwender anderer Distributionen können von [[Pacman]] durch die Verwendung eines einfachen Hüllskriptes [https://github.com/icy/pacapt pacapt] profitieren. Dieses Skript ist in ''Bash'' geschrieben und kann auch von Arch-Nutzer verwendet werden, die mit Paketformaten anderer Distributionen umgehen müssen.<br />
<br />
== Grundlegende Befehle ==<br />
<br />
{|border="1" style="width:100%;font-size:.92em;line-height:1.35em"<br />
| style="width:10%;min-width:80px;background:#f0f0f0;line-height:2em" align="center"|'''Arch'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Red Hat, Fedora'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Debian, Ubuntu'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''SLES, openSUSE'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Gentoo'''<br />
| style="width:50%;background:#f0f0f0;" align="center"|'''Beschreibung'''<br />
|-<br />
| pacman -&#8288;S<br />
| dnf install <br />
| apt install<br />
| zypper install<br><div style="margin-top:0.4em">zypper in</div><br />
| emerge [&#8288;-&#8288;a&#8288;]<br />
| Eines oder mehrere angegebene Pakete installieren.<br />
|-<br />
| pacman -&#8288;Rs<br />
| dnf remove <br />
| apt remove<br />
| zypper remove<br><div style="margin-top:0.4em">zypper rm</div><br />
| emerge -&#8288;C<br />
| Eines oder mehrere angegebene Pakete deinstallieren.<br />
|-<br />
| pacman -&#8288;Ss<br />
| dnf search<br />
| apt search<br />
| zypper search<br><div style="margin-top:0.4em">zypper se [&#8288;-&#8288;s&#8288;]</div><br />
| emerge -&#8288;S<br />
| Paketsuche anhand eines Ausdrucks im Namen oder der Kurzbeschreibung. Welche Info-Felder standardmäßig durchsucht werden, hängt vom jeweiligen Tool der Distribution ab.<br />
|-<br />
| pacman -&#8288;Syu<br />
| dnf upgrade <br />
| apt update && apt upgrade<br />
| zypper update<br><div style="margin-top:0.4em">zypper up</div><br />
| emerge -u world<br />
| Führt eine Aktualisierung aller installierter Pakete aus.<br />
|-<br />
| pacman -&#8288;Syu<br />
| dnf distro&#8288;-&#8288;sync <br />
| apt update && apt dist&#8288;-&#8288;upgrade <br />
| zypper dup <br />
| emerge -&#8288;uDN world<br />
| Andere Form des obigen Befehls zur Umsetzung komplexerer Aufgaben, z.B. für eine distri&shy;butions&shy;weite Aktualisierung. Während der obige Befehl Pakete nicht aktualisiert, bei denen sich Abhängigkeiten geändert haben, führt diese Form auch solche Aktualisierungen durch.<br />
|-<br />
| pacman -&#8288;Sc<br><div style="margin-top:0.4em">pacman -&#8288;Scc</div><br />
| dnf clean all<br />
| apt autoclean<br><div style="margin-top:0.4em">apt clean</div><br />
| zypper clean<br />
| eclean distfiles<br />
| Bereinigt den lokalen Paket-Cache. Optionen können beschränken, was tatsächlich gereinigt wird. <nowiki>'</nowiki>''apt autoclean''<nowiki>'</nowiki> entfernt nur unnötige veraltete Pakete, für die es neuere Pakete im entsprechenden Repo gibt.<br />
|-<br />
| <nowiki>pacman -&nbsp;Qdtq | pacman -&#8288;Rs&nbsp;-</nowiki><br />
| dnf autoremove<br />
| apt autoremove<br />
| zypper rm -&#8288;u<br />
| emerge -&#8288;-&#8288;depclean<br />
| Entfernt Abhängigkeiten, die nicht (mehr) benötigt werden – z.B. weil das die Abhängigkeit erfordernde Paket zuvor entfernt worden ist.<br />
|-<br />
| <nowiki>pacman -&#8288;Qmq | pacman -&#8288;Rs&nbsp;-</nowiki><br />
| package-cleanup -&#8288;-&#8288;orphans<br />
| aptitude purge '~&#8288;o'<br />
| <br />
| <br />
| Entfernt Pakete, die nicht (mehr) in den Repos enthalten sind. <font color="red">Vorsicht</font>, der Pacman-Befehl entfernt auch die aus dem AUR installierten Pakete.<br />
|-<br />
| pacman -&#8288;D -&#8288;-&#8288;asexplicit<br />
| dnf mark install<br />
| apt-mark manual<br />
| <br />
| emerge -&#8288;-&#8288;select <br />
| Setzt den Status eines als Abhängigkeit installierten Paketes auf „Ausdrücklich installiert“.<br />
|-<br />
| pacman -&#8288;S -&#8288;-&#8288;asdeps<br />
| <nowiki>dnf install => dnf mark remove</nowiki><br />
| apt-mark auto<br />
| <br />
| emerge -&#8288;1<br />
| Paket(e) ausdrücklich installieren und den Status auf „Als Abhängigkeit installiert“ setzen.<br />
|-<br />
| pacman -&#8288;Sw<br />
| dnf download<br />
| apt install -&#8288;-&#8288;download-only<br><div style="margin-top:0.4em">apt download</div><br />
| zypper -&#8288;-&#8288;download-only<br />
| emerge -&#8288;-&#8288;fetchonly<br />
| Paket(e) herunterladen, ohne sie zu entpacken oder zu installieren. <nowiki>'</nowiki>''apt install -&#8288;-&#8288;download&#8288;-&#8288;only''<nowiki>'</nowiki> Lädt ein Paket inkl. Abhängigkeiten in den Paket-Cache, <nowiki>'</nowiki>''apt download''<nowiki>'</nowiki> lädt es ohne Abhängigkeiten in das aktuelle Verzeichnis.<br />
|-<br />
| <br />
| <br />
| apt&#8288;-&#8288;config shell<br />
| zypper shell<br />
| <br />
| Eine Shell starten, um auf Konfigurations&shy;informationen zuzugreifen.<br />
|-<br />
| cat /var/log/&#8203;pacman.log<br />
| dnf history<br />
| cat /var/log/&#8203;dpkg.log<br />
| cat /var/log/&#8203;zypp/&#8203;history<br />
| located in /var/log/&#8203;portage<br />
| Inhalte der Logdatei der Paketverwaltung anzeigen.<br />
|}<br />
<br />
== Abfragen einzelner Pakete ==<br />
<br />
{|border="1" style="width:100%;font-size:.92em;line-height:1.35em"<br />
| style="width:10%;min-width:80px;background:#f0f0f0;line-height:2em" align="center"|'''Arch'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Red Hat, Fedora'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Debian, Ubuntu'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''SLES, openSUSE'''<br />
| style="width:10%;min-width:80px;background:#f0f0f0;" align="center"|'''Gentoo'''<br />
| style="width:50%;background:#f0f0f0;" align="center"|'''Beschreibung'''<br />
|-<br />
| pacman -&#8288;Qi<br><div style="margin-top:0.4em">pacman -&#8288;Si</div><br />
| dnf list<br><div style="margin-top:0.4em">dnf info</div><br />
| apt show<br><div style="margin-top:0.4em">apt&#8288;-&#8288;cache policy</div><br />
| zypper info<div style="margin-top:0.4em">zypper if</div><br />
| emerge -&#8288;S<br><div style="margin-top:0.4em">emerge -&#8288;pv</div><div style="margin-top:0.4em">eix</div><br />
| Umfassende Informationen zu einem Paket anzeigen.<br />
|-<br />
| pacman -&#8288;Qi<br />
| rpm -&#8288;qi<br />
| dpkg -&#8288;s<br><div style="margin-top:0.4em">aptitude show</div><br />
| zypper info<br />
| emerge -&#8288;pv<br><div style="margin-top:0.4em">emerge -&#8288;S</div><br />
| Umfassende Informationen zu einem installierten Paket anzeigen (Version, Beschreibung etc.).<br />
|-<br />
| pacman -&#8288;Si<br />
| dnf info<br />
| apt&#8288;-&#8288;cache show<br><div style="margin-top:0.4em">aptitude show</div><br />
| zypper info<br />
| emerge -&#8288;pv<br><div style="margin-top:0.4em">emerge -&#8288;S</div><br />
| Abfrage von Informationen zu einem Paket, das nicht installiert ist (Version, Beschreibung, Abhängigkeiten etc.).<br />
|-<br />
| pacman -&#8288;Ql<br />
| rpm -&#8288;ql<br />
| dpkg -&#8288;L<br />
| zypper info<br />
| equery files<br />
| Anzeigen von Dateien, die von einem installierten Paket bereitgestellt werden.<br />
|-<br />
| pacman -&#8288;Fl<br />
| dnf repoquery -&#8288;l<br><div style="margin-top:0.4em">repoquery&nbsp;-&#8288;l</div><br />
| apt&#8288;-&#8288;file list <&#8288;''Such&shy;muster''&#8288;><br />
| <br />
| pfl<br />
| Anzeigen von Dateien, die von einem nicht installierten Paket bereitgestellt werden.<br />
|-<br />
| pacman -&#8288;Qo <&#8288;''Datei&shy;pfad''&#8288;><br><div style="margin-top:0.4em">pacman -&#8288;Fo <&#8288;''Datei&shy;pfad''&#8288;></div><br />
| dnf provides<br><div style="margin-top:0.4em">rpm -&#8288;qf</div><div style="margin-top:0.4em">repoquery -&#8288;f</div><br />
| dpkg -&#8288;S<br><div style="margin-top:0.4em">dlocate</div><br />
| zypper search -&#8288;f<br />
| equery belongs<br />
| Suche nach dem Paket, welches eine bestimmte Datei beinhaltet.<br />
|-<br />
| pacman -&#8288;Fs<br />
| dnf provides<br />
| apt-file search<br><div style="margin-top:0.4em">auto-apt</div><br />
| zypper search -&#8288;f<br />
| equery belongs<br />
| Alle Pakete (installiert oder nicht installiert) nach einer beinhaltenden Datei durchsuchen.<br />
|-<br />
| pacman -&#8288;Qc<br />
| rpm -&#8288;q -&#8288;-&#8288;changelog<br />
| apt-get changelog<br />
| rpm -&#8288;q -&#8288;-&#8288;changelog<br />
| equery changes -&#8288;f<br />
| Anzeigen des Änderungsprotokolls eines Pakets.<br />
|}</div>Boenkihttps://wiki.archlinux.de/index.php?title=TeX&diff=20257TeX2017-12-17T00:37:46Z<p>Boenki: Vorlage:Paket</p>
<hr />
<div>TeX (gesprochen "Tech") ist ein Textsatzsystem, das sich vor allem im Hochschulbereich großer Beliebtheit erfreut. Es eignet sich besonders gut zum Setzen von größeren Dokumenten mit buch-artigem Erscheinungsbild. Entwickelt wurde es von dem amerikanischen Mathematik- und Informatikprofessor Donald E. Knuth. Unter anderem schrieb er ein Makropaket zu TeX, genannt ''plain TeX'' oder einfach ''plain''. Wenn man heutzutage von TeX spricht, meint man zumeist plain TeX. <br />
<br />
'''LaTeX''' entstand aus dem Wunsch vieler Autoren, den Text ihrer Dokumente nach inhaltlichen Gesichtspunkten gliedern zu können anstatt wie bei TeX üblich nach visuellen Gesichtspunkten. Während TeX sehr schwer bedienbar ist, gestaltet sich dies bei LaTeX deutlich einfacher. LaTeX ist mittlerweile an vielen Universitäten ein Standard zum Schreiben von wissenschaftlichen Arbeiten. Aufgrund von CTAN, einer umfassenden Paketdatenbank, gibt es aber auch noch viele weitere Verwendungsmöglichkeiten wie das Erstellen von Liederbüchern oder Präsentationen.<br />
<br />
== Installation ==<br />
Die wichtigsten Komponenten für TeX/LaTeX sind zusammengefasst in zwei Paketgruppen:<br />
* {{Paket|texlive-most}} enthält Texlive<br />
* {{Paket|texlive-lang}} enthält Sprachunterstützung<br />
<br />
Möchte man deutschsprachige Dokumente verfassen, sollte man beide Pakete installieren.<br />
# pacman -Syu texlive-most texlive-lang<br />
<br />
== Editoren ==<br />
Einige LaTeX-Editoren können viele Dinge, wie zum Beispiel das Kompilieren, vereinfachen, und bieten darüber hinaus auch Zusatzfunktionen wie Syntaxhervorhebung oder Rechtschreibprüfung an.<br />
* {{Paket|kile}} ist der LaTeX-Editor des KDE-Projekts.<br />
* {{Paket|latexila}} ist ein LaTeX-Editor für den GNOME-Desktop.<br />
* [[LyX]] ist ein eigenständiger WYSIWYG-Editor, der als LaTeX-Frontend fungiert.<br />
* {{Paket|texmacs}} ist ein eigenständiger WYSIWYM-Editor, der sich in der Bedienung an Emacs orientiert.<br />
* {{Paket|texmaker}} ist ein Plattform-übergreifender LaTeX-Editor, der in Aufbau und Bedienung kile ähnelt (da vom gleichen Entwickler). Enthält jedoch nur Qt5, keine KDE-Ahängigkeiten.<br />
<br />
Daneben lassen sich auch normale Editoren gut konfigurieren:<br />
* [[gedit]]: Das Paket [https://www.archlinux.de/packages/extra/x86_64/gedit-plugins gedit-plugins]enthält die Zusatz-Funktion SyncTeX, mit deren Hilfe sich LaTex- und PDF-Dateien über gedit und evince synchronisieren lassen.<br />
* [[vim]]: Es sollte zusätzlich das Paket [https://www.archlinux.de/packages/community/x86_64/vim-latexsuite vim-latexsuite]installiert werden.<br />
* [[emacs]]: Es sollte zusätzlich das Paket [https://www.archlinux.de/packages/community/x86_64/auctex auctex]installiert werden.<br />
<br />
== Dokumentation ==<br />
{{veraltet}}<br />
Seit der Version 2008 enthält TeXLive eine neues, erheblich schnelleres texdoc. texdoc und texdoctk sind zwei voneinander unabhängige Programme, die beide mit dem Ziel arbeiten, die Dokumentation zu den unzähligen Paketen auf einfache Weise zugängig zu machen. Dieses Ziel versuchen sie jedoch auf völlig unterschiedliche Weise zu erreichen. Es ist also nicht so, dass texdoctk nur eine graphische Oberfläche zu texdoc ist. <br />
<br />
===texdoc===<br />
ist in texlua geschrieben. texlua ist ein Symlink von luatex, und das wiederum eine Erweiterung/Weiterentwicklung von pdftex. texdoc gibt man einen Suchstring mit, z.B. den Namen eines LaTeX-Paketes. texdoc sucht dann in den Verzeichnissen der texmf-Bäume nach <br />
Dateien mit dem Suchstring als Namen und .dvi, .pdf, ps, .txt oder .htm(l) als Endung und ruft Programme auf; welche, kann man mit Hilfe der Konfigurationsdatei texdoc.cnf beeinflussen. <br />
<br />
Genaueres erfährt man, falls man das Paketchen texlive-texdoc-doc aus dem AUR installiert hat, mittels <br />
<pre><br />
texdoc texdoc<br />
</pre><br />
<br />
Nachteil dieses Ansatzes: Man muss wissen oder erraten, wie die Datei mit der gewünschten Information heißt. Es ist leider nicht immer so, dass aus dem Namen des Paketes auf den Namen der Dokumentation geschlossen werden kann. Zum Beispiel heißt die Dokumentation zu KomaScript scrguide. Immerhin versteht das texdoc aus TeXlive 2008 die regulären Ausdrücke, die auch Lua versteht.<br />
<br />
Daher: Fragen nach der Dokumentation von LaTeX-Paketen sind oft '''nicht dumm.'''<br />
<br />
===texdoctk===<br />
ist ein unter Verwendung von perl-tk in Perl geschriebenes Skript und verfolgt einen ganz anderen Ansatz. <br />
<br />
Zunächst müssen perl und perl-tk installiert sein. <br />
<br />
pacman -S perl-tk<br />
<br />
Der Aufruf von texdoctk (ohne Parameter) öffnet dann ein Fenster, in dem eine inhaltliche Gliederung der angebotenen Dokumente vorgenommen wird.<br />
<br />
Das sieht dann etwa so aus:<br />
<br />
[[Bild:2008-03-02-182901_736x318_scrot.png]]<br />
<br />
Leider wird texdoctk m.W. nicht mehr gepflegt. Die dahinterliegende Doku aber schon.<br />
<br />
[[Kategorie:Büro]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Refind&diff=20256Refind2017-12-17T00:30:36Z<p>Boenki: Kosmetik</p>
<hr />
<div>{{righttoc}}<br />
<br />
'''rEFind Boot Manager''' ist ein Bootmanager für EFI bzw. UEFI.[[Datei:refind.png|200px|thumb|right|rEFind Menübild]]<br><br />
Er kann zusammen mit grub und systemd-boot installiert werden da diese sich nicht gegenseitig stören.<br><br />
Zur Beachtung: rEFind funktioniert nicht mit LVM oder RAID!!<br><br />
In diesem Beispiel wird davon ausgegangen, dass die Bootpartition gleichzeitig die EFI Partition ist.<br><br />
Eingebunden ist diese im Rootverzeichnis unter /boot.<br />
<br />
Paket installieren:<br />
Mit<br />
pacman -S refind-efi<br />
wird das Paket installiert.<br />
Optional kann noch imagemagick mit installiert werden.<br />
<br />
<br />
== Installation in UEFI ==<br />
Im Paket ist ein Script vorhanden, dass die Installation sehr einfach macht.<br />
refind-install<br />
Eine Konfigurationsdatei kann noch angepasst werden:<br />
nano /boot/refind_linux.conf<br />
Das Script refind-install erkennt die Rootpartitionen automatisch und trägt diese mit der UUID Kennzeichnung ein. Wer mag kann statt UUID=Nummer auch LABEL=Name eintragen.<br><br />
Zur Kontrolle kann man sich die Partitionen anzeigen lassen und mit der Konfigurationsdatei vergleichen.:<br />
blkid<br />
Eine weitere Kontrollmöglichkeit sind noch die UEFI Eintragungen.<br />
efibootmgr -v<br />
Boot000? rEFind Boot Manager HD(...)/File(\EFI\refind\refind_x64.efi)<br />
Der Rechner kann neu gebootet werden.<br />
reboot<br />
<br />
==Aktualisierung (upgrading)==<br />
Bei einer Aktualisierung von rEFind werden die UEFI-Eintragungen nicht verändert. Sollen auch diese aktualisiert werden, so muß ein erneutes refind-install ausgeführt werden. Die zuvor veränderte Konfigurationsdatei refind_linux.conf bleibt erhalten.<br><br />
Es gibt aber noch die Möglichkeit, dass pacman das direkt automatisch per „Hook“ ausführen kann.<br><br />
Erstellen eines „Hook“<br />
/etc/pacman.d/hooks/refind.hook<br />
[Trigger]<br />
Operation=Upgrade<br />
Type=Package<br />
Target=refind-efi<br />
<br />
[Action]<br />
When=PostTransaction<br />
Exec=/usr/bin/refind-install<br />
Zur Beachtung: Es sollte beobachtet werden, ob diese Aktualisierung auch wirklich durchgeführt wird und das Script refind-install im neuen Paket refind-efi weiterhin vorhanden ist.<br />
<br />
==Microcode==<br />
Ist das Paket intel-ucode notwendig, so muss rEFind entsprechend angepasst werden.<br />
nano /boot/refind_linux.conf<br />
"Boot with standard options" "rw root=UUID=(...) quiet initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img"<br />
Für {{ic|initrd}} wird ein relativer Pfad angegeben. Ist die EFI-Partition in {{ic|/boot}} eingebunden, lautet die Pfadangabe<br />
"Boot with standard options" "rw root=UUID=(...) quiet initrd=intel-ucode.img initrd=initramfs-linux.img"<br />
==Tools==<br />
Es können weitere Werkzeuge zur Auswahl angezeigt werden.<br />
nano /boot/EFI/refind/refind.conf<br />
...<br />
showtools shutdown,reboot,shell,memtest,gdisk,netboot, ...<br />
...<br />
Hier können die Einstellungen für timeout, Bildschirmschoner, Icons, Banner, Schriftart, Textmode verändert werden.<br />
==weitere Einstellungen==<br />
Weitere Einstellungen sind in rEFind möglich mit<br />
nano /boot/EFI/refind/refind.conf<br />
Hier können die Einstellungen für timeout, Bildschirmschoner, Icons, Banner, Schriftart, Textmode verändert werden.<br />
<br />
==rEFind in virtueller Maschine==<br />
Zur Beachtung:<br />
In der Virtuellen Maschine qemu kann rEFind eingesetzt werden. Wenn man die Option -pflash ovmf_x64.bin benutzt. Hierbei muss ovmf_x64.bin lokal abgespeichert werden zwecks Schreibrechte.<br />
<br />
==Siehe auch==<br />
* [[GPT]]<br />
* [[UEFI Installation]]<br />
* [[Anleitung für Einsteiger]]<br />
<br />
== Weblinks ==<br />
<br />
* [http://www.rodsbooks.com/refind/ refind] {{sprache|en}}<br />
<br />
[[Kategorie:Bootmanager]]<br />
<br />
[[en:rEFind]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Joe&diff=20255Joe2017-12-17T00:25:55Z<p>Boenki: Kleinigkeiten</p>
<hr />
<div>Joe ist ein Konsolen-Editor, der auf eine etwa 30-jährige Geschichte zurückblicken kann. Seine leichte Bedienbarkeit macht ihn für Einsteiger sehr interessant. <br />
<br />
[[Datei:editor-joe.png|thumb|300px]]<br />
<br />
== Auswahl an Eigenschaften ==<br />
* Syntaxhervorhebung für die gängigsten Formate anhand von Dateierweiterungen<br />
* Multi-Dateien<br />
* UTF-8<br />
* ereichbare Hilfe<br />
* Verzicht auf Dinge, die nicht zu einem Editor gehören. <br />
<br />
{{Installation|repo=extra|paket=joe}}<br />
<br />
== Konfiguration ==<br />
Die zentrale Konfigurationsdatei ist <code>/etc/joe/joerc</code>. Jeder Benutzer kann sich eine eigene Konfigurationsdatei in <code>~/.joerc</code> erstellen. <br />
<br />
Die Konfigurationsdatei hat folgenden Aufbau:<br />
<br />
...<br />
-asis Characters 128 - 255 shown as-is<br />
-force Force final newline when files are saved<br />
-nolocks If you don't want file locks to be used<br />
...<br />
<br />
hier bedeuten um ein Zeichen eingerückte Optionen, dass diese Option nicht gesetzt ist. Optionen, die am Beginn der Zeile anfangen, sind aktiv. Desweiteren lassen sich die Hilfeseiten und Tastaturbefehle in der Datei frei konfigurieren.<br />
<br />
== Bedienung ==<br />
=== Starten und Beenden ===<br />
* <code>joe</code> - startet joe<br />
* <code>joe test.text</code> - startet joe, und bearbeitet die Datei <code>test.text</code>. Diese Datei ist noch nicht gespeichert.<br />
* {{taste|Strg}} + {{taste|K}} + {{taste|X}} (''linke {{taste|Strg}}-Taste gedrückt halten, dann nacheinander {{taste|K}} und {{taste|X}} eingeben'') beendet joe, der Text wird gespeichert.<br />
* {{taste|Strg}} + {{taste|K}} + {{taste|C}} beendet joe. Falls zu dem Zeitpunkt ungespeicherte Änderungen im Editor sind, fragt joe in der untersten Zeile nochmal nach. <br />
<br />
=== Bewegen und Löschen ===<br />
* Cursortasten, Bildtasten<br />
* {{taste|Strg}} + {{taste|X}} geht wortweise nach rechts<br />
* {{taste|Strg}} + {{taste|Z}} geht wortweise nach links<br />
* {{taste|Strg}} + {{taste|W}} löscht das rechts vom Cursor stehende Wort(teil)<br />
* {{taste|Strg}} + {{taste|O}} löscht das links vom Cursor stehende Wort(teil)<br />
* {{taste|Strg}} + {{taste|E}} und {{taste|Strg}} + {{taste|A}} bewegen den Cursor an das Ende oder den Anfang der Zeile<br />
* {{taste|Strg}} + {{taste|K}} + {{taste|U}} und {{taste|Strg}} + {{taste|K}} + {{taste|V}} bewegen den Cursor an den Anfang oder das Ende der Datei<br />
<br />
=== Blöcke ===<br />
* {{taste|Strg}} + {{taste|K}} + {{taste|B}} markiert den Anfang eines Blocks {{taste|Strg}} + {{taste|K}} + {{taste|K}} das Ende<br />
* mit {{taste|Strg}} + {{taste|K}} + {{taste|C}} wird dieser Block an die augenblickliche Cursorposition kopiert<br />
<br />
=== Hilfe ===<br />
Die Hilfe ruft man mit {{taste|Strg}} + {{taste|K}} + {{taste|H}} auf. Mit {{taste|ESC}} + {{taste|.}} (''Escape-Taste, dann Punkt-Taste'')<br />
blättert man weiter, mit {{taste|ESC}} + {{taste|,}} (''Escape-Taste, dann Komma-Taste'') blättert man<br />
zurück. Mit {{taste|Strg}} + {{taste|K}} + {{taste|H}} verlässt man die Hilfe wieder.<br />
<br />
== Weblinks ==<br />
* [http://joe-editor.sourceforge.net/ Projektseite ] {{sprache|de}} <br />
* [https://de.wikipedia.org/wiki/Joe_(Texteditor) Wikipedia-Eintrag ] {{sprache|de}}<br />
*[https://sourceforge.net/p/joe-editor/mercurial/ci/default/tree/docs/man.md Ausführliche Einführung ] {{sprache|en}}<br />
<br />
<br />
<br />
[[Kategorie:Konsole]]<br />
[[Kategorie:Editoren]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=X&diff=20195X2017-12-05T21:56:15Z<p>Boenki: /* Ohne Benutzerlogin starten */ Vorlage:Hc</p>
<hr />
<div>{{righttoc}}<br />
Das ''X window system'', auch ''X'' oder ''X11'' genannt, stellt unter Linux und anderen UNIX-artigen Betriebssystemen die grafische Oberfläche bereit. Die unter Linux wohl am meist genutzte Implementierung ist ''X.org''.<br />
<br />
==Installation==<br />
''X.org'' wird mittels<br />
# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils<br />
installiert. Diese Paketgruppe enthält die nötigsten Pakete.<br />
<br />
Anschließend sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende zu Verfügung:<br />
<br />
xf86-video-apm<br />
xf86-video-ark<br />
[[ATI#Open Source Treiber|xf86-video-ati]]<br />
xf86-video-chips<br />
xf86-video-cirrus<br />
xf86-video-dummy<br />
xf86-video-fbdev<br />
xf86-video-glint<br />
xf86-video-i128<br />
xf86-video-i740<br />
xf86-video-imstt<br />
[[Intel|xf86-video-intel]]<br />
xf86-video-mga<br />
xf86-video-neomagic<br />
[[Nvidia#Open Source Treiber|xf86-video-nv]]<br />
[[Nvidia#Open Source Treiber|xf86-video-nouveau]]<br />
xf86-video-openchrome<br />
[[ATI#Open Source Treiber|xf86-video-radeonhd]]<br />
xf86-video-rendition<br />
xf86-video-s3<br />
xf86-video-s3virge<br />
xf86-video-savage<br />
xf86-video-siliconmotion<br />
xf86-video-sis<br />
xf86-video-sisusb<br />
xf86-video-tdfx<br />
xf86-video-trident<br />
xf86-video-tseng<br />
xf86-video-unichrome (obsolet, instabil, unmaintained)<br />
xf86-video-v4l<br />
xf86-video-vesa<br />
xf86-video-vga<br />
xf86-video-via<br />
xf86-video-vmware<br />
xf86-video-voodoo<br />
<br />
Nachdem der Treiber oder die Treiber ausgewählt worden sind, mit<br />
pacman -S xf86-video-<Treiberpaket><br />
installieren. <br />
<br />
Der Treiber ''xf86-video-vesa'' sollte immer funktionieren, bietet aber nur wenige Funktionen und ist äußerst langsam. Er ist also eher eine Notlösung, falls der eigentliche Treiber nicht funktioniert.<br />
<br />
Weitere Informationen zur Installation der Treiber von ''AMD/ATI'', ''Intel'' und ''Nvidia'' befinden sich in eigenen Beiträgen:<br />
* [[ATI]]<br />
* [[Intel]]<br />
* [[Nvidia]]<br />
<br />
==Konfiguration==<br />
''X.org'' wird über die Dateien in <br />
/etc/X11/xorg.conf.d/<br />
konfiguriert.<br />
<br />
Eine komplette Konfigurationsdatei wie bis zum X-Server 1.7 unter ''/etc/X11/xorg.conf'' ist nicht mehr notwendig. <br />
<br />
Jetzt können unter ''/etc/X11/xorg.conf.d/'' verschiedene Dateien mit der Endung ''*.conf'' angelegt werden z.B. für die Maus und Tastatur. Die Konfigurationsdateien werden alphabetisch eingelesen, was ermöglicht eine Einstellung mit einer später folgenden Datei zu überschreiben.<br />
<br />
===Eingabegeräte===<br />
Eingabegeräte lassen sich mittels ''InputClasses'' konfigurieren. Sie beziehen sich nicht auf ein einzelnes Gerät sondern auf eine ganze Klasse von Geräten. Dazu wird eine ''Section "InputClass"'' angelegt, in der mittels ''matches'' festgelegt wird, auf welche Geräte die nachfolgenden Einstellungen zutreffen sollen.<br />
<br />
Soll lediglich ein deutsches Tastaturlayout eingestellt werden, befinden sich im Beitrag [[Arch_Linux_auf_Deutsch_stellen|Arch Linux auf deutsch stellen]] weitere Informationen dazu.<br />
<br />
Dieses Beispiel weist allen Tastaturen ein deutsches Tastaturlayout zu:<br />
Section "InputClass"<br />
Identifier "keyboard"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "de"<br />
Option "XkbVariant" "nodeadkeys"<br />
EndSection<br />
<br />
Und wird z.B. unter ''/etc/X11/xorg.conf.d/20-keyboard.conf'' abgespeichert.<br />
<br />
Es lassen sich auch mehrere ''Match*'' Option verwenden, um die Geräteklasse genauer anzugeben. Folgende Optionen sind verfügbar:<br />
<br />
{| {{prettytable}}<br />
|style="width:30%;background-color:#E5E5E5"|'''Option''' <br />
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' <br />
|-<br />
|MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick<br />
|trifft auf die jeweiligen Geräte zu<br />
|-<br />
|MatchProduct "foo<nowiki>|</nowiki>bar"<br />
|trifft auf alle Geräte zu, deren Name ''foo'' oder ''bar'' enthält<br />
|-<br />
|MatchVendor "foo<nowiki>|</nowiki>bar"<br />
|trifft auf alle Geräte zu, deren Herstellername ''foo'' oder ''bar'' enthält<br />
|-<br />
|MatchDevicePath "/dev/input/event*"<br />
|trifft auf alle Geräte zu, deren Pfad mit ''/dev/input/event'' beginnen<br />
|-<br />
|}<br />
<br />
Die Optionen für die jeweiligen Treiber finden sich in den Manpages.<br />
<br />
z.B.<br />
man xorg.conf<br />
<br />
Eine Möglichkeit um die ''MatchProduct'' und ''MatchVendor'' anzuzeigen ist<br />
udevadm info --export-db | grep -Ew "(NAME|ID_VENDOR)"<br />
<br />
===TCP Port 6000 schließen===<br />
Standardmäßig startet X auf dem TCP Port 6000. Um dies zu unterbinden muss die Option ''-nolisten tcp'' in der Datei ''/usr/bin/startx'' zu der Variablen ''defaultserverargs'' hinzugefügt werden.<br />
defaultserverargs="-nolisten tcp"<br />
<br />
Falls X per kdm gestartet wird, scheint das ''startx'' Script nicht ausgeführt zu werden.<br />
<br />
In diesm Fall muss die Option ''-nolisten tcp'' in der Datei ''/usr/share/config/kdm/kdmrc'' zu der Variablen ''ServerCmd'' hinzugefügt werden.<br />
ServerCmd=/usr/bin/X -br -nolisten tcp<br />
<br />
Die -br Option bewirkt, dass X mit einem schwarzen root-Fenster startet. Weitere Optionen des X Servers findet man auf der man page.<br />
man Xserver<br />
<br />
Nutzt man keinen [[Login-Manager]] um X zu starten und will ''/usr/bin/startx'' nicht verändern, kann man die Option(en) auch als Parameter angeben.<br />
startx -- -nolisten tcp<br />
<br />
Dies ist jedoch nur notwendig, wenn ''startx'' mit weiteren Optionen aufgerufen wird. Werden keine Optionen übergeben, so liest X die Datei ''/etc/X11/xinit/xserverrc'' bzw ''~/.xserverrc''.<br />
<br />
Der erste Abschnitt ''-nolisten tcp'' ist unter Archlinux bereits eingetragen.<br />
<br />
==Xorg starten==<br />
Gestartet wird der ''X.org'' über ''/usr/bin/startx'' oder per [[Login-Manager]]. Bei der startx-Methode gibt es mehrere Möglichkeiten:<br />
<br />
===Nach Login manuell ausführen===<br />
''startx'' muss nach dem Login manuell ausgeführt werden: <br />
startx<br />
<br />
===Nach Login automatisch ausführen===<br />
startx wird nach dem Login (auf der 1. Konsole) automatisch ausgeführt. Dazu folgendes am Ende der ''~/.bash_profile'' eintragen:<br />
<br />
if [ "$(tty)" = "/dev/tty1" ]; then<br />
startx<br />
fi<br />
<br />
Soll der User beim Beenden von X automatisch wieder ausgeloggt werden, kann man noch ''logout'' hinzufügen:<br />
<br />
if [ "$(tty)" = "/dev/tty1" ]; then<br />
startx<br />
logout<br />
fi <br />
<br />
===Mittels automatischem Login ausführen===<br />
Nebst dem vorherigen Punkt ist folgendes durchzuführen:<br />
<br />
cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@tty1.service<br />
<br />
In der kopierten Datei folgende Zeile suchen und ändern:<br />
von <br />
ExecStart=-/sbin/agetty --noclear %I<br />
nach <br />
ExecStart=-/sbin/agetty --noclear -a <username> %I 38400<br />
<br />
Wobei ''<username>'' durch den Namen des Benutzers, welcher automatisch angemeldet (und ergo in dessen Benutzerkontext der Xserver gestartet) werden soll, ersetzt werden muss.<br><br />
Den normalen getty Service deaktivieren:<br />
systemctl disable getty@tty1<br />
Den neuen Service aktivieren:<br />
systemctl enable autologin@tty1<br />
<br />
Beim nächsten Neustart wird der Rechner den Benutzer ''<username>'' automatisch auf ''tty1'' anmelden.<br><br />
Da dabei die <code>~/.bash_profile</code> (s.o.) ausgeführt wird, wird im folgenden der Xserver gestartet.<br />
<br />
===Ohne Benutzerlogin starten===<br />
<br />
Um den Xserver gänzlich ohne Benutzerlogin zu starten, muss der Xserver als Systemd.service als ''root'' gestartet werden, da die ''rootless'' Funktion des Xservers nur mit einer Login Session (s.o.) funktioniert.<br />
<br />
{{hc|1=/etc/systemd/system/xorg-server.service|2=<br />
[Unit]<br />
Description=Plain X.org server<br />
Conflicts=getty@tty7.service display-manager.service<br />
<br />
[Service]<br />
Type=simple<br />
ExecStart=/usr/bin/Xorg vt7 -nolisten tcp -noreset<br />
Restart=on-failure<br />
<br />
[Install]<br />
WantedBy=graphical.target}}<br />
Dieses Unit startet den Xserver als ''root'' auf dem virtuellen Terminal Nr. 7 (''vt7'', [Strg]+[Alt]+[F7]).<br><br />
Entsprechend konfligiert er daher mit ''getty@tty7'' da nur einer der beiden Dienste auf dem entsprechenden Terminal gestartet werden kann.<br><br />
Sebstredend kann ''vt7'' durch ein anderes Terminal oder ein virtuelles Display ersetzt werden.<br />
<br />
==Fehlersuche==<br />
Bei der Fehlersuche kann es hilfreich sein einen Blick in die Xorg Log Datei zu werfen. <br />
<br />
Zur besseren Übersicht ist es empfehlenswert nur die Warnungen (WW) und Fehler (EE) anzeigen zu lassen. <br />
grep -e WW -e EE /var/log/Xorg.0.log<br />
<br />
==Bekannte Probleme==<br />
===X kann ACPI nicht laden===<br />
Steht in /var/log/Xorg.0.log<br />
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)<br />
<br />
so liegt das wahrscheinlich daran, dass kein acpid-Daemon läuft. <br />
<br />
Damit ACPI läuft muss das Paket installiert werden, mit<br />
pacman -S acpid<br />
Anschließend noch den acpid Daemon aktivieren<br />
systemctl enable acpid<br />
<br />
===Strg+Alt+Backspace beendet X nicht===<br />
Die Tastenkombination Strg+Alt+Backspace zum sofortigen beenden von X ist standardmäßig deaktiviert.<br />
<br />
Um das gewünschte Verhalten zu erhalten, muss<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp"<br />
in der Datei /etc/X11/xorg.conf.d/20-keyboard.conf hinzugefügt werden.<br><br />
Section "InputClass"<br />
Identifier "keyboard"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "de"<br />
Option "XkbVariant" "nodeadkeys"<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp"<br />
EndSection<br />
<br />
==Siehe auch==<br />
Grafiktreiber:<br />
* [[ATI]]<br />
* [[Intel]]<br />
* [[Nvidia]]<br />
<br />
Treiber für Eingabegeräte:<br />
* [[Synaptics Touchpad Treiber|Synaptics Touchpad Treiber]]<br />
<br />
Sonstiges:<br />
* [[Arch_Linux_auf_Deutsch_stellen|Deutsches Tastaturlayout]]<br />
* [[Schriftarten]]<br />
* [[Login-Manager]]<br />
<br />
==Weblinks==<br />
* [http://www.x.org Xorg Homepage] {{sprache|en}}<br />
<br />
[[Kategorie: X11]]<br />
[[en:Xorg]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Firefox&diff=20175Firefox2017-11-27T19:39:03Z<p>Boenki: /* Weblinks */ typo</p>
<hr />
<div>Firefox ist ein freier Webbrowser. Er verwendet die Gecko-Web-Engine und wird von der Mozilla Corporation entwickelt. Aktualisierungen erscheinen regelmäßig im 6 Wochen Rhythmus.<br />
[[Datei:Fx18_archlinux.de.png|300px|thumb|right|Firefox 57 zeigt archlinux.de an]]<br />
{{installation<br />
|name=Firefox<br />
|repo=extra<br />
|paket=firefox<br />
|zusatz=firefox-i18n-de<br />
|zusatzinfo=Deutsches Sprachpaket}}<br />
<br />
Eine Liste aller verfügbaren Sprachpakete gibt es [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 hier]<br />
<br />
<br />
Alternativen gibt es auch noch aus dem [[AUR]]:<br />
*{{AUR|firefox-esr-bin}} (eine [https://www.mozilla.org/en-US/firefox/organizations/ long-term] unterstützte Version)<br />
*{{AUR|firefox-developer}} (die spezielle Version für [http://www.mozilla.org/en-US/firefox/developer/ Entwickler] von Mozilla)<br />
*{{AUR|firefox-beta-bin}} (die offizielle [https://www.mozilla.org/en-US/firefox/channel/ cutting-edge] Version von Mozilla)<br />
*{{AUR|firefox-aurora}} ([https://www.mozilla.org/en-US/firefox/channel/#aurora alpha Version])<br />
*{{AUR|firefox-nightly}} (Die [https://nightly.mozilla.org/ nightly] Version)<br />
Hier ist eine Übersicht über Mozilla's [https://wiki.mozilla.org/Releases releases]<br />
<br />
== Firefox Varianten ==<br />
*{{wikipedia|Iceweasel}} - War der Name der Debian Variante. Mittlerweile ist es Debian gestattet seine Anpassungen wieder unter dem original Label "Mozilla Firefox" zu veröffentlichen.<br />
*[https://www.gnu.org/software/gnuzilla/ GNU IceCat] - Baut auf den Esr-Versionen des Browsers auf und entwickelt eigene Sicherheits Add-ons. {{AUR|icecat}}<br />
*[https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox Firefox (openSUSE)] - Mit verbesserter KDE Integration. {{AUR|firefox-kde-opensuse}}<br />
*[https://www.torproject.org/index.html.en Tor-Browser] - Anonymisiertes Surfen und Zugang zu den .onion Seiten. {{AUR|tor-browser}}<br />
<br />
== [[Gnome]] Integration ==<br />
* Damit Firefox mit [https://extensions.gnome.org/ extensions.gnome.org]zusammenarbeitet kann man folgendes Plugin Firefox hinzufügen [https://addons.mozilla.org/de/firefox/addon/gnome-shell-integration/ gnome-shell-integration]. Des weiteren wird noch das Paket aus dem AUR benötigt: {{AUR|chrome-gnome-shell-git}}<br />
* Um die Titel Bar zu entfernen kann aus dem AUR {{AUR|hide-ff-title-bar-git}} das Plugin installiert werden.<br />
<br />
== [[Plasma]] Integration ==<br />
Um GTK Anwendungen wie Firefox das Plasma-Desktop-Design zu geben, installiert man {{paket|breeze-gtk}} und {{paket|kde-gtk-config}}.<br />
Danach in die Systemeinstellungen → Anwendungs-Stil → GNOME Anwendungs-Stil (GTK) gehen und dort das gewünschte Plasma-Theme 'Breeze' einstellen.<br />
<br />
== Add-ons ==<br />
Firefox-Add-ons sind über das Einstellungsmenu unter Add-ons installierbar. Oder auf dieser Internetseite zu finden. [https://addons.mozilla.org/de/firefox/?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=fx-sub-nav Firefox-Add-ons]<br />
<br />
== Multimedia ==<br />
Firefox nutzt {{paket|ffmpeg}} und {{paket|pulseaudio}} für die Wiedergabe von Audio- und Videoinhalten.<br />
Um zu Testen welche Medienformate unterstützt werden, kann man diese Seiten nutzen: [https://www.quirksmode.org/html5/tests/video.html Videotest] und [https://hpr.dogphilosophy.net/test/ Audiotest].<br />
<br />
=== Flash ===<br />
Um Flash nutzen zu können installiert man entweder das proprietäre {{paket|flashplugin}} (NPAPI) oder das ebenfalls proprietäre {{paket|pepper-flash}} (PPAPI) Paket beides aus den extra Repositorium.<br />
pacman -S pepper-flash<br />
Eine freie aber funktionsärmere Alternative ist mit {{AUR|Gnash-git}} vorhanden.<br />
<br />
=== DRM-Kopierschutz ===<br />
Um Netflix & Co wiedergeben zu können muss ein Haken in den Einstellungen gesetzt werden. Näheres ist bei dem jeweiligen Anbieter zu erfahren.<br />
Einstellungen -> Allgemein -> Inhalte mit DRM-Kopierschutz wiedergeben<br />
<br />
== Rechtschreibprüfung ==<br />
Für die Deutsche Rechtschreibprüfung sind die Pakete {{paket|hunspell}} und {{paket|hunspell-de}} zu installieren.<br />
== Java ==<br />
Firefox unterstützt Java, allerdings muss dies separat installiert werden.<br />
Nähere Informationen im Artikel: [[Java]]<br />
<br />
==Performance steigern==<br />
Durch das auslagern der Profildaten kann man einen gewissen Performancegewinn erzielen. Wie dies vonstatten geht, erläutert der dazugehörige Wiki-Artikel [[Firefox-Profile in Ramdisk auslagern]].<br />
<br />
== about:config ==<br />
Trägt man in die Firefox Adresszeile {{ic|about:config}} ein, können weitergehende Einstellungen vorgenommen werden.<br> Hierzu wird der entsprechende Parameter mit Hilfe der eingebauten Suchfunktion aufgesucht und anschließend der dazugehörige Wert angepasst. Änderungen werden erst nach einem Neustart des Browsers wirksam.<br />
<br />
{| {{prettytable}}<br />
! !! Parameter !! Wert !! Anmerkung<br />
|-<br />
|Privacy Popups deaktivieren<br />
|privacy.popups.disable_from_plugins<br />
|2<br />
|<br />
|-<br />
|IPv6 deaktivieren<br />
|network.dns.disableIPv6<br />
|true<br />
|<br />
|-<br />
|Backspace-Taste aktivieren<br />
|browser.backspace_action<br />
|0<br />
|Mit Backspace zurück im Browserverlauf<br />
|-<br />
|URL mit einfachem Klick markieren<br />
|browser.urlbar.clickSelectsAll<br />
|true<br />
|<br />
|-<br />
|Autoscroll per mittlerer Maustaste<br />
|general.autoScroll<br />
|true<br />
|<br />
|-<br />
|Screenshot-Funktion deaktivieren<br />
|extensions.screenshots.disabled<br />
|true<br />
|s. Weblinks zu Sicherheit<br />
|-<br />
|Cliqz Tracking ausschalten<br />
|cliqz<br />
|Löschen aller Werte in allen drei Zeilen<br />
|Kann nicht rückgängig gemacht werden<br />
|}<br />
<br />
== Weblinks zu Sicherheit und Privacy ==<br />
* Blockartikel Mike Kuketz [https://www.kuketz-blog.de/firefox-56-screenshot-funktion-deaktivieren/ Screenshot-Funktion deaktivieren] Okt. 2017<br />
* Blockartikel Mike Kuketz [https://www.kuketz-blog.de/firefox-cliqz-parameter-in-der-aboutconfig/ Cliqz Parameter] Okt. 2017<br />
* Blockartikel Marius's Welt [https://marius.bloggt-in-braunschweig.de/2017/11/22/redhat-webseite-des-session-replaying-bezichtigt/ Session Replaying] Nov. 2017<br />
<br />
== Weblinks ==<br />
* {{wikipedia|Mozilla_Firefox| Mozilla Firefox}}<br />
* Blogartikel von Soeren Hentzschel [https://www.soeren-hentzschel.at/firefox/firefox-quantum-ist-da-der-groesste-firefox-release-aller-zeiten/ Firefox Quantum ist da] Nov. 2017<br />
<br />
[[Kategorie:Browser]]<br />
[[Kategorie:GTK]]<br />
[[en:Firefox]]<br />
[[ar:Firefox]]<br />
[[cs:Firefox]]<br />
[[es:Firefox]]<br />
[[fr:Firefox]]<br />
[[it:Firefox]]<br />
[[ja:Firefox]]<br />
[[ko:Firefox]]<br />
[[ru:Firefox]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Firefox&diff=20146Firefox2017-11-19T08:31:03Z<p>Boenki: Neues Bild</p>
<hr />
<div>[[Datei:Fx18_archlinux.de.png|300px|thumb|right|Firefox 57 zeigt archlinux.de an]]<br />
Mozilla Firefox ist ein freier Webbrowser des Mozilla-Projekts, der die sogenannte Gecko-Rendering-Engine verwendet. Die erste Veröffentlichung der Version 0.1 erfolgte am 23. September 2002, damals noch unter dem Namen Phoenix. Seit der Version 0.8 wird der Name Firefox verwendet. Der Open-Source-Webbrowser zeichnet sich besonders durch seine vielfältigen Erweiterungsmöglichkeiten aus. Für mehr Information finden sich im {{wikipedia|Mozilla_Firefox|Wikipedia-Artikel}}<br />
<br />
{{installation<br />
|name=Firefox<br />
|repo=extra<br />
|paket=firefox<br />
|zusatz=firefox-i18n-de<br />
|zusatzinfo=Deutsches Sprachpaket}}<br />
<br />
Eine Liste aller verfügbaren Sprachpakete gibt es [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 hier]<br />
<br />
<br />
Alternativen gibt es auch noch aus dem [[AUR]]:<br />
*{{AUR|firefox-esr-bin}} (eine [https://www.mozilla.org/en-US/firefox/organizations/ long-term] unterstützte Version)<br />
*{{AUR|firefox-developer}} (die spezielle Version für [http://www.mozilla.org/en-US/firefox/developer/ Entwickler] von Mozilla)<br />
*{{AUR|firefox-beta-bin}} (die offizielle [https://www.mozilla.org/en-US/firefox/channel/ cutting-edge] Version von Mozilla)<br />
*{{AUR|firefox-aurora}} ([https://www.mozilla.org/en-US/firefox/channel/#aurora alpha Version])<br />
*{{AUR|firefox-nightly}} (Die [https://nightly.mozilla.org/ nightly] Version)<br />
<br />
<br />
Hier ist eine Übersicht über Mozilla's [https://wiki.mozilla.org/Releases releases]<br />
<br />
== Firefox Varianten ==<br />
<br />
*{{wikipedia|Iceweasel}} -- Ein Fork von Firefox, welcher von Debian entwickelt wird. Der Hauptunterschied liegt darin, dass es kein geschütztes Material von Mozilla beinhaltet.<br />
[https://wiki.debian.org/Iceweasel https://wiki.debian.org/Iceweasel] || {{AUR|iceweasel}}<br />
<br />
*[https://en.wikipedia.org/wiki/GNU_IceCat GNU IceCat] -- Ein Browser, vertrieben vom GNU Project. Er ist komplett aus freier Software gemacht, ist kompatibel mit GNU/Linux Systemen und nahezu allen Firefox addons.<br />
[https://www.gnu.org/software/gnuzilla/ https://www.gnu.org/software/gnuzilla/] || {{AUR|icecat}}<br />
<br />
*'''Firefox KDE''' -- Eine Version von Firefox, die einen OpenSUSE patch für eine bessere KDE Integration beinhaltet.<br />
[https://gitorious.org/firefox-kde-opensuse https://gitorious.org/firefox-kde-opensuse] || {{AUR|firefox-kde-opensuse}}<br />
<br />
*'''Firefox GTK3''' -- Firefox mit GTK3 Integration<br />
{{AUR|firefox-gtk3-bin}}<br />
<br />
== E-Mail-Programm-Integration ==<br />
Standardmäßig öffnet Firefox mailto-Links nicht in Thunderbird und Thunderbird URLs nicht in Firefox. Dies kann geändert werden, indem man Firefox mitteilt, mit welchem Programm mailto-Links geöffnet werden sollen. Dazu gibt man in der Adresszeile „about:config“ ein, liest den eventuell erscheinenden Warnhinweis, bestätigt ihn, und legt dann mittels Rechtsklick einen neuen String an.<br />
<br />
network.protocol-handler.app.mailto<br />
<br />
Diesem String weist man den Wert „/usr/bin/thunderbird“ zu. Die Zuweisung ist sofort gültig. Statt Thunderbird kann natürlich auch das jeweilige bevorzugte E-Mail-Programm installiert werden, der Pfad, der als Wert angegeben wird, muss dann natürlich entsprechend angepasst werden.<br />
<br />
=== Einstellungen in Thunderbird ===<br />
Analog dazu kann man ebenfalls einstellen, dass Thunderbird entgegen den Standard-Einstellungen Links in Firefox öffnen soll. Dazu erstellt man über „Bearbeiten → Einstellungen → Erweitert → Konfiguration Bearbeiten“ drei neue Strings, und weist ihnen die nachfolgend durch „→“ abgetrennten Werte zu.<br />
<br />
network.protocol-handler.app.ftp → /usr/bin/firefox<br />
network.protocol-handler.app.http → /usr/bin/firefox<br />
network.protocol-handler.app.https → /usr/bin/firefox<br />
<br />
== Gnome Keyring-Integration ==<br />
Zuerst muss {{AUR|firefox-gnome-keyring}} aus dem [[AUR]] installiert werden um Firefox in den [[:en:GNOME Keyring|GNOME Keyring]] zu integrieren.<br />
Um den firefox-gnome-keyring dazu zu bringen den Schlüsselbund zu benutzen, muss in about:config {{ic|extensions.gnome-keyring.keyringName}} auf {{ic|login}} gesetzt werden.<br />
<br />
== Gnome-Shell-Integration ==<br />
* Damit Firefox mit [https://extensions.gnome.org/ extensions.gnome.org]zusammenarbeitet kann man folgendes Plugin Firefox hinzufügen [https://addons.mozilla.org/de/firefox/addon/gnome-shell-integration/ gnome-shell-integration]. Des weiteren wird noch das Paket aus dem AUR benötigt: {{AUR|chrome-gnome-shell-git}}<br />
* Um die Titel Bar zu entfernen kann entweder aus dem AUR {{AUR|hide-ff-title-bar-git}} das Plugin installiert werden.<br />
<br />
== KDE-Integration ==<br />
*Um auch GTK Anwendungen das KDE-Aussehen zu verpassen(inklusive Firefox), installiere {{paket|breeze-gtk}} und {{paket|kde-gtk-config}}.<br />
Danach gehe in die System Einstellungen → Anwendungs-Stil → GNOME Anwendungs-Stil (GTK). Stelle sicher, dass 'Breeze' in Auswahl des GTK2 und GTK3 Design genutzt wird und makiere 'Symbole auf GTK-Knöpfen anzeigen' und 'Symbole in GTK-Menüs anzeigen'.<br />
* Um KDE's KPart technology in Firefox nutzen zu können, kann {{paket|kpartsplugin}} installiert werden.<br />
*Für die Integration von KDE's mime type system und dem Datei-Dialog kann {{AUR|firefox-kde-opensuse}} benutzt werden. Oder {{AUR|firefox-kde-global-menu}}, welches ebenfalls die Anwendungsmenü integration beinhaltet.<br />
*Add-ons unterstützen vielleicht die Integration, wie [https://addons.mozilla.org/en-US/firefox/addon/kde-wallet-password-integratio/ KWallet] und [https://addons.mozilla.org/en-US/firefox/addon/plasmanotify/ Plasma notifications].<br />
<br />
== IRC-Integration==<br />
Damit durch das Klicken auf einen irc-Link sich der IRC-Client (hier: xChat) öffnet muss in „about:config“ (s.o.) von Firefox folgendes gemacht werden.<br />
<br />
# Mit der rechten Maustaste auf die Einträge klicken und „Neu → Boolean“ wählen.<br />
# Einstellungsname lautet „network.protocol-handler.external.irc“, Wert: „true“ (bzw. „1“)<br />
# Dann noch einen neuen Eintrag erstellen, diesmal einen String.<br />
# *Einstellungsname: '''network.protocol-handler.app.irc''' Wert: '''xchat'''<br />
<br />
== UserAgent ändern ==<br />
[[Bild:Fx-about.png|thumb|Anzeige des Useragent-Strings im Informationsdialog von Firefox 3.6 – Hier die Original-Angabe]]<br />
<br />
Beim Surfen im Internet identifiziert der Browser sich über den User-Agent-String. Es werden unter anderem Informationen über das verwendete Betriebssystem und den verwendeten Browser beim Anfragen einer Seite oder Datei an den Server gesendet. Firefox bietet die Möglichkeit, diese Informationen zu verändern. Um dies zu tun, gibt man in der Adresszeile „about:config“ ein und erstellt mit einem Rechtsklick einen neuen String.<br />
<br />
general.useragent.override<br />
<br />
Als Wert setzt man hier ein, was man eben als UserAgent-String verwenden möchte. Sollen überhaupt keine Informationen gesendet werden einfach nichts bei Wert eintragen. Um die Änderungen rückgängig zu machen reicht es, den Eintrag zurückzusetzen: „Rechtsklick auf Eintrag → Zurücksetzen“. Außerdem gibt es noch die [http://chrispederick.com/work/useragentswitcher/ User Agent Switcher] Extension.<br />
<br />
Damit sich Firefox als zum Beispiel als Internet Explorer 6.0, der auf einem WinXP mit installiertem ServicePack 2 läuft, ausgibt kann man „Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)“ als Wert angeben.<br />
<br />
== IPv6 deaktivieren ==<br />
Es kann unter gewissen Netzwerkkonstellationen vorkommen, dass Firefox bei aktivierter IPv6-Unterstützung sehr langsam ist, oder Seiten gar nicht geladen werden können. Um die IPv6-Funktion zu deaktivieren, muss man den entsprechenden Wert über „about:config“ auf „true“ setzen.<br />
<br />
network.dns.disableIPv6<br />
<br />
Sollte der Seitenaufruf allerdings funktionieren, sollte man diese Option so belassen, wie sie ist. Durch die Deaktivierung der IPv6-Unterstützung in Firefox erhält man keine Vorteile, wenn es auch mit aktivierter Unterstützung funktioniert.<br />
<br />
== Plugins ==<br />
Einige Firefox-Plugins sind bereits in den Arch-Paketquellen verfügbar, weitere Plugins lassen sich auf der Mozilla-Seite finden. Neben Plugins gibt es in dieser Liste auch noch Erweiterungen, die den Browser mit zusätzlichen Funktionen ausstatten.<br />
<br />
* https://addons.mozilla.org/de/firefox/browse/type:7<br />
<br />
=== Flash ===<br />
Um Flash zu nutzen installiert man sich am besten das proprietäre Flashplugin von Adobe aus dem extra-Repositorium bzw. aus [https://bbs.archlinux.de/viewtopic.php?id=17293 multilib] mittels:<br />
pacman -S flashplugin<br />
<br />
Alternativ gibt es auch eine derzeit noch in der Entwicklung befindliche Version von Flash für x64-Systeme von Adobe namens ''[http://labs.adobe.com/downloads/flashplayer10.html Square]''. Diese muss man per Hand installieren, indem man die in der gepackten Datei befindliche ''libflashplayer.so'' in ''~/mozilla/plugins/'' kopiert. Nach einem Neustart von Firefox sollte Flash dann funktionieren, allerdings muss dann auch per Hand nach neuen Versionen gesucht werden.<br />
<br />
Leider bieten die freien Alternativen noch nicht den vollen Funktionsumfang bzw. die Stabilität wie das Pendant von Adobe. Eine Alternative zum offiziellen Flashplugin bietet jedoch [[Gnash]].<br />
<br />
=== Java ===<br />
Firefox unterstützt Java, allerdings muss dies separat installiert werden.<br />
<br />
Nähere Informationen im Artikel: [[Java]]<br />
<br />
=== Mplayer-Plugin ===<br />
Das Mplayer Plugin ermöglicht es, Medieninhalte eingebettet wiederzugeben, was auch weitgehend funktioniert. Hierfür müssen folgende Pakete aus [extra] installiert werden:<br />
<br />
pacman -S mplayer gecko-mediaplayer<br />
<br />
==Tipps und Tricks==<br />
==="Downloads abgeschlossen" Popup deaktivieren===<br />
Das Popup-Fenster, das erscheint wenn alle aktiven Downloads abgeschlossen sind kann man deaktivieren indem man in der Adresszeile ''about:config'' eingibt und folgenden Eintrag auf ''false'' setzt.<br />
browser.download.manager.showAlertOnComplete<br />
<br />
===Performance steigern===<br />
Durch das auslagern der Profildaten kann man einen gewissen Performancegewinn erzielen. Wie dies vonstatten geht, erläutert der dazugehörige Wiki-Artikel [[Firefox-Profile in Ramdisk auslagern]].<br />
<br />
===Backspace-Taste aktivieren===<br />
Unter Linux erfüllt die Backspace-Taste (Zurück-Taste) in Firefox keinerlei Funktion, während sie unter Windows ein bequemes Zurückgehen auf die vorherige Seite ermöglicht. Wer diese Funktion nicht missen möchte, hat folgenden Eintrag in ''about:config'' anzupassen.<br />
<br />
browser.backspace_action # aus der 2 machen wir eine 0<br />
<br />
===URL bei einfachem Klick markieren===<br />
Wer sich an dem Markieren der URL per Doppelklick stört, der kann dies zu einem einfachen Klick abändern. Hierzu muss folgendes, wiederrum in der ''about:config'', getan werden.<br />
<br />
browser.urlbar.clickSelectsAll # aus false machen wir ein true<br />
<br />
===Autoscroll per Mittlerer Maustaste===<br />
Wer von Windows kommt, wird möglicherweise die Scrollfunktion beim Betätigen des Mausrades vermissen. Diese lässt sich jedoch auch unter Linux problemlos aktivieren. Hierzu muss folgender Schlüssel von ''false'' auf ''true'' gesetzt werden.<br />
<br />
general.autoScroll<br />
{{FDL|| Seite=http://de.wikipedia.org/ | Name=deutsche Wikipedia | Original=http://de.wikipedia.org/w/index.php?title=Mozilla_Firefox }} <br />
[[Kategorie:Browser]]<br />
[[Kategorie:GTK]]<br />
[[en:Firefox]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Firefox&diff=20144Firefox2017-11-19T08:21:40Z<p>Boenki: Das Satzzeichen kommt nicht in den Link</p>
<hr />
<div>[[Datei:Fx18_archlinux.de.png|300px|thumb|right|Firefox 54 zeigt archlinux.de an]]<br />
Mozilla Firefox ist ein freier Webbrowser des Mozilla-Projekts, der die sogenannte Gecko-Rendering-Engine verwendet. Die erste Veröffentlichung der Version 0.1 erfolgte am 23. September 2002, damals noch unter dem Namen Phoenix. Seit der Version 0.8 wird der Name Firefox verwendet. Der Open-Source-Webbrowser zeichnet sich besonders durch seine vielfältigen Erweiterungsmöglichkeiten aus. Für mehr Information finden sich im {{wikipedia|Mozilla_Firefox|Wikipedia-Artikel}}<br />
<br />
{{installation<br />
|name=Firefox<br />
|repo=extra<br />
|paket=firefox<br />
|zusatz=firefox-i18n-de<br />
|zusatzinfo=Deutsches Sprachpaket}}<br />
<br />
Eine Liste aller verfügbaren Sprachpakete gibt es [https://www.archlinux.org/packages/?sort=&q=firefox-i18n&maintainer=&last_update=&flagged=&limit=100 hier]<br />
<br />
<br />
Alternativen gibt es auch noch aus dem [[AUR]]:<br />
*{{AUR|firefox-esr-bin}} (eine [https://www.mozilla.org/en-US/firefox/organizations/ long-term] unterstützte Version)<br />
*{{AUR|firefox-developer}} (die spezielle Version für [http://www.mozilla.org/en-US/firefox/developer/ Entwickler] von Mozilla)<br />
*{{AUR|firefox-beta-bin}} (die offizielle [https://www.mozilla.org/en-US/firefox/channel/ cutting-edge] Version von Mozilla)<br />
*{{AUR|firefox-aurora}} ([https://www.mozilla.org/en-US/firefox/channel/#aurora alpha Version])<br />
*{{AUR|firefox-nightly}} (Die [https://nightly.mozilla.org/ nightly] Version)<br />
<br />
<br />
Hier ist eine Übersicht über Mozilla's [https://wiki.mozilla.org/Releases releases]<br />
<br />
== Firefox Varianten ==<br />
<br />
*{{wikipedia|Iceweasel}} -- Ein Fork von Firefox, welcher von Debian entwickelt wird. Der Hauptunterschied liegt darin, dass es kein geschütztes Material von Mozilla beinhaltet.<br />
[https://wiki.debian.org/Iceweasel https://wiki.debian.org/Iceweasel] || {{AUR|iceweasel}}<br />
<br />
*[https://en.wikipedia.org/wiki/GNU_IceCat GNU IceCat] -- Ein Browser, vertrieben vom GNU Project. Er ist komplett aus freier Software gemacht, ist kompatibel mit GNU/Linux Systemen und nahezu allen Firefox addons.<br />
[https://www.gnu.org/software/gnuzilla/ https://www.gnu.org/software/gnuzilla/] || {{AUR|icecat}}<br />
<br />
*'''Firefox KDE''' -- Eine Version von Firefox, die einen OpenSUSE patch für eine bessere KDE Integration beinhaltet.<br />
[https://gitorious.org/firefox-kde-opensuse https://gitorious.org/firefox-kde-opensuse] || {{AUR|firefox-kde-opensuse}}<br />
<br />
*'''Firefox GTK3''' -- Firefox mit GTK3 Integration<br />
{{AUR|firefox-gtk3-bin}}<br />
<br />
== E-Mail-Programm-Integration ==<br />
Standardmäßig öffnet Firefox mailto-Links nicht in Thunderbird und Thunderbird URLs nicht in Firefox. Dies kann geändert werden, indem man Firefox mitteilt, mit welchem Programm mailto-Links geöffnet werden sollen. Dazu gibt man in der Adresszeile „about:config“ ein, liest den eventuell erscheinenden Warnhinweis, bestätigt ihn, und legt dann mittels Rechtsklick einen neuen String an.<br />
<br />
network.protocol-handler.app.mailto<br />
<br />
Diesem String weist man den Wert „/usr/bin/thunderbird“ zu. Die Zuweisung ist sofort gültig. Statt Thunderbird kann natürlich auch das jeweilige bevorzugte E-Mail-Programm installiert werden, der Pfad, der als Wert angegeben wird, muss dann natürlich entsprechend angepasst werden.<br />
<br />
=== Einstellungen in Thunderbird ===<br />
Analog dazu kann man ebenfalls einstellen, dass Thunderbird entgegen den Standard-Einstellungen Links in Firefox öffnen soll. Dazu erstellt man über „Bearbeiten → Einstellungen → Erweitert → Konfiguration Bearbeiten“ drei neue Strings, und weist ihnen die nachfolgend durch „→“ abgetrennten Werte zu.<br />
<br />
network.protocol-handler.app.ftp → /usr/bin/firefox<br />
network.protocol-handler.app.http → /usr/bin/firefox<br />
network.protocol-handler.app.https → /usr/bin/firefox<br />
<br />
== Gnome Keyring-Integration ==<br />
Zuerst muss {{AUR|firefox-gnome-keyring}} aus dem [[AUR]] installiert werden um Firefox in den [[:en:GNOME Keyring|GNOME Keyring]] zu integrieren.<br />
Um den firefox-gnome-keyring dazu zu bringen den Schlüsselbund zu benutzen, muss in about:config {{ic|extensions.gnome-keyring.keyringName}} auf {{ic|login}} gesetzt werden.<br />
<br />
== Gnome-Shell-Integration ==<br />
* Damit Firefox mit [https://extensions.gnome.org/ extensions.gnome.org]zusammenarbeitet kann man folgendes Plugin Firefox hinzufügen [https://addons.mozilla.org/de/firefox/addon/gnome-shell-integration/ gnome-shell-integration]. Des weiteren wird noch das Paket aus dem AUR benötigt: {{AUR|chrome-gnome-shell-git}}<br />
* Um die Titel Bar zu entfernen kann entweder aus dem AUR {{AUR|hide-ff-title-bar-git}} das Plugin installiert werden.<br />
<br />
== KDE-Integration ==<br />
*Um auch GTK Anwendungen das KDE-Aussehen zu verpassen(inklusive Firefox), installiere {{paket|breeze-gtk}} und {{paket|kde-gtk-config}}.<br />
Danach gehe in die System Einstellungen → Anwendungs-Stil → GNOME Anwendungs-Stil (GTK). Stelle sicher, dass 'Breeze' in Auswahl des GTK2 und GTK3 Design genutzt wird und makiere 'Symbole auf GTK-Knöpfen anzeigen' und 'Symbole in GTK-Menüs anzeigen'.<br />
* Um KDE's KPart technology in Firefox nutzen zu können, kann {{paket|kpartsplugin}} installiert werden.<br />
*Für die Integration von KDE's mime type system und dem Datei-Dialog kann {{AUR|firefox-kde-opensuse}} benutzt werden. Oder {{AUR|firefox-kde-global-menu}}, welches ebenfalls die Anwendungsmenü integration beinhaltet.<br />
*Add-ons unterstützen vielleicht die Integration, wie [https://addons.mozilla.org/en-US/firefox/addon/kde-wallet-password-integratio/ KWallet] und [https://addons.mozilla.org/en-US/firefox/addon/plasmanotify/ Plasma notifications].<br />
<br />
== IRC-Integration==<br />
Damit durch das Klicken auf einen irc-Link sich der IRC-Client (hier: xChat) öffnet muss in „about:config“ (s.o.) von Firefox folgendes gemacht werden.<br />
<br />
# Mit der rechten Maustaste auf die Einträge klicken und „Neu → Boolean“ wählen.<br />
# Einstellungsname lautet „network.protocol-handler.external.irc“, Wert: „true“ (bzw. „1“)<br />
# Dann noch einen neuen Eintrag erstellen, diesmal einen String.<br />
# *Einstellungsname: '''network.protocol-handler.app.irc''' Wert: '''xchat'''<br />
<br />
== UserAgent ändern ==<br />
[[Bild:Fx-about.png|thumb|Anzeige des Useragent-Strings im Informationsdialog von Firefox 3.6 – Hier die Original-Angabe]]<br />
<br />
Beim Surfen im Internet identifiziert der Browser sich über den User-Agent-String. Es werden unter anderem Informationen über das verwendete Betriebssystem und den verwendeten Browser beim Anfragen einer Seite oder Datei an den Server gesendet. Firefox bietet die Möglichkeit, diese Informationen zu verändern. Um dies zu tun, gibt man in der Adresszeile „about:config“ ein und erstellt mit einem Rechtsklick einen neuen String.<br />
<br />
general.useragent.override<br />
<br />
Als Wert setzt man hier ein, was man eben als UserAgent-String verwenden möchte. Sollen überhaupt keine Informationen gesendet werden einfach nichts bei Wert eintragen. Um die Änderungen rückgängig zu machen reicht es, den Eintrag zurückzusetzen: „Rechtsklick auf Eintrag → Zurücksetzen“. Außerdem gibt es noch die [http://chrispederick.com/work/useragentswitcher/ User Agent Switcher] Extension.<br />
<br />
Damit sich Firefox als zum Beispiel als Internet Explorer 6.0, der auf einem WinXP mit installiertem ServicePack 2 läuft, ausgibt kann man „Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)“ als Wert angeben.<br />
<br />
== IPv6 deaktivieren ==<br />
Es kann unter gewissen Netzwerkkonstellationen vorkommen, dass Firefox bei aktivierter IPv6-Unterstützung sehr langsam ist, oder Seiten gar nicht geladen werden können. Um die IPv6-Funktion zu deaktivieren, muss man den entsprechenden Wert über „about:config“ auf „true“ setzen.<br />
<br />
network.dns.disableIPv6<br />
<br />
Sollte der Seitenaufruf allerdings funktionieren, sollte man diese Option so belassen, wie sie ist. Durch die Deaktivierung der IPv6-Unterstützung in Firefox erhält man keine Vorteile, wenn es auch mit aktivierter Unterstützung funktioniert.<br />
<br />
== Plugins ==<br />
Einige Firefox-Plugins sind bereits in den Arch-Paketquellen verfügbar, weitere Plugins lassen sich auf der Mozilla-Seite finden. Neben Plugins gibt es in dieser Liste auch noch Erweiterungen, die den Browser mit zusätzlichen Funktionen ausstatten.<br />
<br />
* https://addons.mozilla.org/de/firefox/browse/type:7<br />
<br />
=== Flash ===<br />
Um Flash zu nutzen installiert man sich am besten das proprietäre Flashplugin von Adobe aus dem extra-Repositorium bzw. aus [https://bbs.archlinux.de/viewtopic.php?id=17293 multilib] mittels:<br />
pacman -S flashplugin<br />
<br />
Alternativ gibt es auch eine derzeit noch in der Entwicklung befindliche Version von Flash für x64-Systeme von Adobe namens ''[http://labs.adobe.com/downloads/flashplayer10.html Square]''. Diese muss man per Hand installieren, indem man die in der gepackten Datei befindliche ''libflashplayer.so'' in ''~/mozilla/plugins/'' kopiert. Nach einem Neustart von Firefox sollte Flash dann funktionieren, allerdings muss dann auch per Hand nach neuen Versionen gesucht werden.<br />
<br />
Leider bieten die freien Alternativen noch nicht den vollen Funktionsumfang bzw. die Stabilität wie das Pendant von Adobe. Eine Alternative zum offiziellen Flashplugin bietet jedoch [[Gnash]].<br />
<br />
=== Java ===<br />
Firefox unterstützt Java, allerdings muss dies separat installiert werden.<br />
<br />
Nähere Informationen im Artikel: [[Java]]<br />
<br />
=== Mplayer-Plugin ===<br />
Das Mplayer Plugin ermöglicht es, Medieninhalte eingebettet wiederzugeben, was auch weitgehend funktioniert. Hierfür müssen folgende Pakete aus [extra] installiert werden:<br />
<br />
pacman -S mplayer gecko-mediaplayer<br />
<br />
==Tipps und Tricks==<br />
==="Downloads abgeschlossen" Popup deaktivieren===<br />
Das Popup-Fenster, das erscheint wenn alle aktiven Downloads abgeschlossen sind kann man deaktivieren indem man in der Adresszeile ''about:config'' eingibt und folgenden Eintrag auf ''false'' setzt.<br />
browser.download.manager.showAlertOnComplete<br />
<br />
===Performance steigern===<br />
Durch das auslagern der Profildaten kann man einen gewissen Performancegewinn erzielen. Wie dies vonstatten geht, erläutert der dazugehörige Wiki-Artikel [[Firefox-Profile in Ramdisk auslagern]].<br />
<br />
===Backspace-Taste aktivieren===<br />
Unter Linux erfüllt die Backspace-Taste (Zurück-Taste) in Firefox keinerlei Funktion, während sie unter Windows ein bequemes Zurückgehen auf die vorherige Seite ermöglicht. Wer diese Funktion nicht missen möchte, hat folgenden Eintrag in ''about:config'' anzupassen.<br />
<br />
browser.backspace_action # aus der 2 machen wir eine 0<br />
<br />
===URL bei einfachem Klick markieren===<br />
Wer sich an dem Markieren der URL per Doppelklick stört, der kann dies zu einem einfachen Klick abändern. Hierzu muss folgendes, wiederrum in der ''about:config'', getan werden.<br />
<br />
browser.urlbar.clickSelectsAll # aus false machen wir ein true<br />
<br />
===Autoscroll per Mittlerer Maustaste===<br />
Wer von Windows kommt, wird möglicherweise die Scrollfunktion beim Betätigen des Mausrades vermissen. Diese lässt sich jedoch auch unter Linux problemlos aktivieren. Hierzu muss folgender Schlüssel von ''false'' auf ''true'' gesetzt werden.<br />
<br />
general.autoScroll<br />
{{FDL|| Seite=http://de.wikipedia.org/ | Name=deutsche Wikipedia | Original=http://de.wikipedia.org/w/index.php?title=Mozilla_Firefox }} <br />
[[Kategorie:Browser]]<br />
[[Kategorie:GTK]]<br />
[[en:Firefox]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Kategorie_Diskussion:Seiten_mit_ignorierten_Anzeigetiteln&diff=20060Kategorie Diskussion:Seiten mit ignorierten Anzeigetiteln2017-10-09T08:23:40Z<p>Boenki: Sinn?</p>
<hr />
<div>Hallo, würde der Autor bitte den Sinn dieser Kategorie erklären? Ich verstehe es nicht. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 10:23, 9. Okt. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=LXQt&diff=20053LXQt2017-10-03T22:00:15Z<p>Boenki: typos</p>
<hr />
<div>LXQt ist eine leichtgewichtige X11 Desktop-Umgebung auf QT5 Basis.<br />
[[Datei:Ambiance.png|350px|thumb|right|Ambiance Theme, LXQT 0.11]]<br />
Charakteristisch für LXQt ist:<br />
* Die moderne Programmbasis Qt5<br />
* Der modulare Aufbau<br />
* Der geringe Ressourcenbedarf (166MB RAM)<br><br />
<br />
<br />
== Voraussetzung ==<br />
Für den Betrieb von LXQt ist der [[Anleitung_für_Einsteiger#Teil_2:_Installation_von_X_und_Konfiguration|X11 Display-Server]] Voraussetzung. <br />
<br />
{{installation<br />
|repo=community<br />
|name=Die LXQt Paketgruppe<br />
|paket=lxqt<br />
}}<br />
Für eine Minimalinstallation sind hier die Pakete {{ic|lxqt-session}}, {{ic|lxqt-pannel}} und {{ic|openbox}} auszuwählen.<br />
Optional wird die Installation der {{Paket|breeze-icons}} bzw. {{Paket|oxygen-icons}} empfohlen.<br />
<br />
== Starten von LXQt ==<br />
=== Mit dem Terminal===<br />
Mit User-Rechten wird die Datei {{ic|/etc/X11/xinit/xinitrc}} ins jeweilige {{ic|/home/<user>}} Verzeichnis kopiert.<br />
cp /etc/X11/xinit/xinitrc ~/.xinitrc<br />
Danach wird am Ende der Datei {{ic|~/.xinitrc}} die Zeile {{ic|exec startlxqt}} hinzugefügt.<br />
echo "exec startlxqt" >> ~/.xinitrc<br />
Anschließend kann LXQt mit folgenden Befehl via Konsole gestartet werden.<br />
startx<br />
<br />
=== Mit einem Display- / Login Manager ===<br />
Für den Start per Login Manager wird SDDM empfohlen.<br />
pacman -S {{Paket|sddm|sddm}}<br />
Danach wird sddm gestartet und für den Systemstart eingerichtet.<br />
systemctl enable --now sddm<br />
(Für ältere Grafikhardware kann auch ein weniger anspruchsvoller [[Login-Manager]] ausgewählt werden.)<br />
<br />
== Konfiguration ==<br />
Die Konfiguration kann grafisch über das Startmenu->Einstellungen->LXQt-Systemeinstellungen-> ...<br><br />
oder manuell in der Datei {{ic|~/.config/lxqt/session.conf}} vorgenommen werden.<br />
<br />
=== Beispiele: ===<br />
{| {{prettytable}}<br />
! Einstellung !! graph. Tool !! Untermenu !! !! manuell: Zeile!! Wert<br />
|-<br />
| Fenstermanager<br />
| Sitzungskonfiguration<br />
| Grundeinstellungen<br />
|<br />
| window_manager= <br />
| openbox / kwin<br />
|-<br />
| Look Screen on / off<br />
| Sitzungskonfiguration<br />
| Grundeinstellungen<br />
| <br />
| lock_screen_before_power_actions=<br />
| true / false<br />
|-<br />
| Autostart<br />
| Sitzungskonfiguration<br />
| Autostart<br />
|-<br />
|}<br />
<br />
== Weblinks ==<br />
*[http://lxqt.org/ LXQt-Homepage]{{sprache|en}}<br />
*[https://de.wikipedia.org/wiki/LXDE#LXQt Wikipedia]{{sprache|de}}<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
[[en:LXQt]]<br />
[[ja:LXQt]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Bereitschaft_und_Ruhezustand&diff=20045Bereitschaft und Ruhezustand2017-09-19T12:51:26Z<p>Boenki: </p>
<hr />
<div>{{righttoc}}<br />
<br />
Der Ruhezustand (hibernate) und der Bereitschaftszustand (standby / suspend) sind zwei Modi, die den PC teilweise abschalten und dadurch Energie sparen. Im Bereitschaftszustand wird der Arbeitsspeicher noch mit Energie versorgt und ist dadurch nach kurzer Zeit wieder einsatzfähig. Im Ruhezustand wird der Inhalt des Arbeitsspeichers auf die Swap-Partition der Festplatte geschrieben. Damit dauert der Startvorgang länger, es wird jedoch weniger Energie verbraucht. Bei schnellen Rechnern kann jedoch der Unterschied zwischen dem Starten aus dem Ruhezustand und dem regulären Startvorgang kaum ein Unterschied bestehen. Ein Vorteil jedoch besteht darin, dass der Rechner so fortgesetzt wird, wie er in den jeweiligen Modus versetzt wurde.<br />
<br />
{{Hinweis|Beide Zustände können unter bestimmten Hardwarezusammenstellungen Probleme bereiten und nicht richtig funktionieren.}}<br />
<br />
==Konfiguration==<br />
===Bereitschaftszustand===<br />
<br />
Für den Bereitschaftszustand muss nichts weiter konfiguriert werden.<br />
<br />
===Ruhezustand===<br />
Damit das Aufwachen aus dem Ruhezustand funktioniert, muss dem Kernel mit der Option ''resume'' die Swap Partition im Bootloader übergeben werden. Bei [[GRUB]] kann dies dauerhaft eingerichtet werden, indem zuerst die Datei {{ic|/etc/default/grub}} folgendermaßen editiert wird: zu der Zeile {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} wird {{ic|resume}} zusammen mit der Swap Partition hinzugefügt. z.B. mit Label:<br />
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=LABEL=swap"<br />
Im Anschluss wird {{ic|# grub-mkconfig -o /boot/grub/grub.cfg}} aufgerufen, um eine neue {{ic|grub.cfg}} zu erstellen, die die Änderungen enthält.<br />
<br />
Zudem muss in der Konfigurationsdatei [[mkinitcpio|/etc/mkinitcpio.conf]] im Abschnitt HOOK ''resume'' hinzugefügt werden<br />
HOOKS="base udev autodetect ide sata '''resume''' filesystems"<br />
und das Initramfs-Image mit<br />
mkinitcpio -p linux<br />
neu erstellt werden.<br />
<br />
<br />
== Anwendung ==<br />
<br />
Meist bringt die Desktopumgebung die Möglichkeit mit sich, mit der Maus in die Zustände zu versetzen.<br />
Ist das nicht der Fall oder gibt es keine grafische Benutzeroberfläche, dann hilft systemd weiter:<br />
<br />
systemctl hybrid-sleep # versetzt den Rechner in Bereitschaft<br />
systemctl hibernate # versetzt den Rechner in den Ruhezustand<br />
<br />
== Problemlösungen ==<br />
=== Ruhezustand ohne Login-Manager ===<br />
<br />
Hat man keinen [[Login-Manager]] (kdm, gdm, slim ...) installiert und startet die grafische Oberfläche über einen Eintrag in der [[Xinitrc|.xinitrc]] mit startx, kann es vorkommen, dass der Rechner nicht in den Ruhezustand geht. Um das Problem zu lösen kann es helfen den Starteintrag in der .xinitrc von<br />
<br />
exec startkde<br />
<br />
in<br />
<br />
exec ck-launch-session startkde<br />
<br />
zu ändern.<br />
<br />
Dies muss natürlich für die jeweilige Desktopumgebung angepasst werden.<br />
<br />
[[Kategorie:Energieverwaltung]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Plasma&diff=20040Plasma2017-09-08T05:42:13Z<p>Boenki: Überarbeitung: Installation</p>
<hr />
<div>Dieser Artikel behandelt die Desktop-Umgebung Plasma. Die [[KDE|'''Anwendungsprogramme von KDE''']] werden in einem gesonderten Artikel beschrieben.<br />
<br />
'''Plasma''' ist eine moderne Desktop-Umgebung der KDE-Community. Sie zeichnet sich durch ihre große Funktionsfülle aus, und bietet dem Benutzer eine hohe Anpassungsfähigkeit der Arbeitsumgebung.<br />
<br />
== Installation ==<br />
Plasma kann in verschieden großem Umfang installiert werden.<br />
=== Minimalvariante ===<br />
In der Minimalvariante wird das Paket {{Paket|plasma-desktop}} ohne Zusatzkomponenten installiert.<br />
pacman -S plasma-desktop<br />
<br />
=== Paketgruppe ===<br />
Die Installation als Paketgruppe {{paket|plasma}} bietet zur Desktopumgebung auch alle Zusatzkomponenten zur Installation an.<br />
Man erhält dabei die Möglichkeit zwischen einzelnen Komponenten eine Auswahl zu treffen.<br />
pacman -S plasma<br />
<br />
=== Metapaket ===<br />
Das Metapaket {{Paket|plasma-meta}} behandelt die Komponenten der Desktopumgebung als Abhängigkeiten. <br />
Mit der Installation eines Meta-Pakets wird sichergestellt, dass evt. später neu hinzukommende Komponenten bei einem Systemupdate automatisch nachinstalliert werden.<br />
pacman -S plasma-meta<br />
<br />
=== Sprachpakete ===<br />
Das deutsche Sprachpaket {{Paket|kde-l10n-de}}<br />
pacman -S kde-l10n-de<br />
Weitere Sprachen werden {{Paket|kde-l10n|hier}} aufgelistet.<br />
<br />
== Display Manager ==<br />
Als Display Manager wird [[Login-Manager#SDDM|SDDM]] und sein Konfigurations-Werkzeug {{ic|sddm-kcm}} empfohlen.<br />
pacman -S {{Paket|sddm|sddm}} {{paket|sddm-kcm}}<br />
Danach muss noch der systemd service aktiviert werden:<br />
systemctl enable --now sddm.service<br />
Sddm-kcm kann unter Systemeinstellungen->Starten und Beenden aufgerufen werden.<br />
{{Hinweis|Das SDDM Theme Elarun hat einige Fehlfunktionen. Es empfiehlt sich stattdessen das Breeze Theme einzusetzen.}}<br />
<br />
==Plasma (X11) starten==<br />
Plasma kann entweder im Menü des Display Managers gestartet werden oder via Konsole mit {{ic|startx}}.<br><br />
Vor einem manuellen Start muss am Ende der Datei {{ic|~/.xinitrc}} folgende Zeile hinzugefügt werden: {{ic|exec startkde}}<br />
<br />
==Plasma (Wayland)==<br />
Wayland ist ein Display-Server-Protokoll und stellt eine Alternative zum klassischem Display-Server X11 dar.<br><br />
Die Plasma Unterstützung für Wayland ist schon weit fortgeschritten aber noch nicht ausgereift.<br><br />
Um Plasma mit Wayland zu installieren, wird folgendes Paket benötigt:<br />
pacman -S {{Paket|plasma-wayland-session}}<br />
<br />
Zum Starten der Session wird im Menü des Login Managers "Plasma (Wayland)" ausgewählt.<br><br />
Ohne einen Desktop-Manager kann die Sitzung, auch nach dem Einloggen eines Benutzers auf der Konsole, mit folgender Eingabe gestartet werden.<br />
startplasmacompositor<br />
<br />
==QT4 und GTK==<br />
===QT4===<br />
Um grafische Konflikte zwischen Qt5- und Qt4-Apps zu beheben, kann folgendes Paket installiert werden:<br />
pacman -S {{Paket|breeze-kde4}}<br />
<br />
===GTK===<br />
Falls es Probleme mit GTK-Anwendungen gibt, hilft folgendes Paket:<br />
pacman -S {{Paket|breeze-gtk}}<br />
<br />
== Firefox Integration ==<br />
siehe [[Firefox#KDE-Integration]]<br />
<br />
==Baloo-Desktop-Suche==<br />
Auch die Minimal-Installation ''plasma-desktop'' zieht das Paket ''baloo'' nach sich. Baloo, mit dem Front-End ''milou'', unterstützt die Suche nach installierten Programmen und Dateien beispielsweise in der Dateiverwaltung ''dolphin'', aber auch durch Auto-Vervollständigung in ''krunner'' (Alt+F2). Dazu werden bei Ersteinrichtung zunächst einmal alle Dateien indexiert, was je nach Anzahl eine Weile dauern kann und das System entsprechend auslastet. Sollten beispielsweise die Konfigurations-Verzeichnisse umbenannt oder verschoben worden sein, so dass sie neu angelegt werden, wird ''baloo'' die Indexierung neu starten.<br />
<br />
==Telepathy==<br />
Um Telepathy in Plasma benutzen zu können, wird folgendes benötigt:<br />
{{Paket|telepathy}}<br />
Des Weiteren gibt es noch folgende Protokolle, um z. B. Telegram zu benutzen:<br />
{{AUR|telegram-purple}}, {{AUR|telegram-purple-git}}, {{AUR|telepathy-morse-git}}<br />
<br />
==Android Integration==<br />
[https://community.kde.org/KDEConnect KDEConnect] bietet folgende Vorteile:<br />
*Teilen von Dateien und URLs zwischen App und Plasma<br />
*Smartphone als Maus benutzen<br />
*Smartphone-Nachrichten in Plasma anzeigen lassen<br />
*Geteiltes Clipboard (copy & paste)<br />
*Multimedia-Anwendungen von der App aus steuern<br />
*Verbindung über WLAN<br />
*RSA Verschlüsselung<br />
<br />
Installation:<br />
pacman -S {{Paket|kdeconnect|kdeconnect}} <br />
und die App für Android: [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google-Play]<br />
<br />
==Openbox==<br />
Das Paket {{Paket|Openbox}} unterstützt eine Sitzung mit Plasma. Diese kann entweder mit dem Display Manager-Menü gestartet werden oder via {{ic|.xinitrc}}, indem man folgende Zeile hinzufügt:<br />
exec openbox-kde-session<br />
<br />
== Siehe auch ==<br />
* [[KDE]]<br />
<br />
== Weblinks ==<br />
* [http://www.kde.org KDE - Homepage] {{sprache|en}}<br />
* [http://kde-apps.org KDE - Apps.org] {{sprache|en}}<br />
* [http://kde-look.org/ KDE - Look.org] {{sprache|en}}<br />
* [http://www.kde-forum.de Das deutschsprachige KDE-Forum] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/K_Desktop_Environment KDE auf Wikipedia.org] {{sprache|de}}<br />
<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
<br />
[[en:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[es:KDE]]<br />
[[fa:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE Masaüstü Ortamı]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Nvidia&diff=20032Nvidia2017-09-07T08:49:14Z<p>Boenki: </p>
<hr />
<div>{{veraltet}}<br />
{{unvollständig}}<br />
<br />
Für Nvidia Grafikkarten gibt es die Möglichkeit einen proprietären Treibers (nvidia) oder einen freien Treiber (nouveau) zu installieren. Als weiteren freien Treiber gab es ''xf86-video-nv'', der nur rudimentäre Funktionen bereitstellt und nicht mehr weiterentwickelt wird. Für ältere Karten kann er dennoch bei Problemen als Alternative verwendet werden.<br />
==Opensource Treiber nouveau==<br />
=== Installation ===<br />
pacman -S xf86-video-nouveau<br />
Der Treiber unterstützt KMS daher kann man den Treiber schon im kernel initramfs einbauen lassen.<br><br />
Das geht mit Eintrag in der /etc/mkinitcpio.conf<br />
MODULES="... nouveau ..."<br />
anschließend mit<br />
mkinitcpio -g /boot/initramfs-linux.img<br />
den Treiber einbauen.<br><br />
Nur falls xorg den nouveau Treiber nicht übernimmt, ist noch eine Datei /etc/X11/xorg.conf.d/20-nouveau.conf zu machen.<br />
Section "Device"<br />
Identifier "Nvidia card"<br />
Driver "nouveau"<br />
EndSection<br />
Rechner neu booten.<br />
<br />
=== mehrere Bildschirme ===<br />
<br />
Damit die Bildschirme bereits beim laden des X Servers die korrekte Auflösung haben, muss die Datei /etc/X11/xorg.conf.d/20-nouveau.conf erstellt und konfiguriert werden.<br />
Um mögliche Auflösungen sowie genutzte Anschlussnamen anzuzeigen folgenden Befehl nutzen<br />
xrandr<br />
Typische Anschlussnamen sind LVDS-1 (Laptop Bildschirm), VGA-1, DVI-1 oder HDMI-1.<br />
Mögliche Auflösungen werden unter dem Anschlussnamen ausgegeben.<br />
Beispielhafte Konfiguration:<br />
<br />
Section "Monitor" #Laptop Bildschirm<br />
Identifier "Laptop"<br />
Option "Primary" "True" # Auf dem primären Display wird bspw. der Login-Manager angezeigt<br />
Option "PreferredMode" "1280x800" # korrekte Auflösung eintragen<br />
EndSection<br />
<br />
Section "Monitor" #externer Bildschirm<br />
Identifier "Extern"<br />
Option "LeftOf" "Laptop" # Auch "RightOf" möglich<br />
Option "Primary" "False"<br />
Option "PreferredMode" "1280x1024" # korrekte Auflösung eintragen<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nouveau"<br />
Option "Monitor-LVDS-1" "Laptop" # Schema "Monitor-ANSCHLUSSNAME" <br />
Option "Monitor-VGA-1" "Extern" <br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024 # Höhe und Breite des erzeugten "Screens" (1280 + 1280 = 2560)<br />
EndSubSection<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Layout0"<br />
Screen "Screen0"<br />
EndSection<br />
<br />
==Proprietärer Treiber==<br />
[[Bild:nVidia-display-driver_01.png|thumb|320px|nVidia X Server Settings]]<br />
<br />
===Installation===<br />
Der Treiber wird mittels<br />
pacman -S nvidia<br />
installiert.<br />
<br />
<br />
Für Karten GeForce FX Reihe:<br />
pacman -S nvidia-173xx<br />
<!--<br />
Für Karten der GeForce 4 bis zu einigen Karten der GeForce 2 Reihe:<br />
pacman -S nvidia-96xx<br />
--><br />
Welcher Treiber der geeignete ist, kann man auf der [http://www.nvidia.com/object/unix.html nVIDIA-Homepage] herausfinden.<br />
<br />
Für ältere Hardware muss der Open Source Treiber nouveau verwendet werden. Siehe auch [http://download.nvidia.com/XFree86/Linux-x86/260.19.44/README/appendix-a.html README/appendix-a]<br />
<br />
===Konfiguration===<br />
'''Eine weitere Konfiguration ist nicht nötig.''' Bei der Installation wird eine Konfigurationsdatei in ''/etc/X11/xorg.conf.d'' abgelegt.<br />
<br />
Sollten dennoch Änderungen vorgenommen werden, kann dies entweder per Hand in der Konfigurationsdatei von X11 ''/etc/X11/xorg.conf'', oder über das grafische Programm ''nvidia-settings'' erledigt werden.<br />
<br />
Die Treiberpakete enthalten ein Tool, mit dem bei Bedarf eine ''/etc/X11/xorg.conf'' angelegt bzw. automatisch angepasst werden kann.<br />
nvidia-xconfig<br />
<br />
====Konfiguration mit nvidia-settings====<br />
Mit <br />
nvidia-settings<br />
ist es möglich weitere Einstellungen vorzunehmen. Dabei wird die Datei ''~/.nvidia-settings-rc'' erstellt.<br />
<br />
Um die Einstellungen zu laden, muss<br />
nvidia-settings --load-config-only<br />
ausgeführt werden.<br />
<br />
{{hinweis|In seltenen Fällen kann es sein, dass ''~/.nvidia-settings-rc'' fehlerhaft verändert wird. Falls dies eintritt, kann es sein, dass der X-Server abstürzt und die Datei deswegen gelöscht werden muss.}}<br />
<br />
=== Optimus unter X ===<br />
Seit der Version 319.12 unterstützt der proprietäre Nvidia-Treiber auch die Optimus-Technologie unter Linux. Dazu muss sowohl der Intel-Treiber als auch der Nvidia-Treiber installiert werden.<br />
pacman -S intel-dri<br />
pacman -Rdd mesa-libgl<br />
pacman -S nvidia<br />
<br />
Die nun als Beispiel angegebene Konfigurationsdatei ist selbsterklärend:<br />
<br />
Section "ServerLayout"<br />
Identifier "layout"<br />
Screen 0 "nvidia"<br />
Inactive "intel"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia"<br />
Driver "nvidia"<br />
BusID "PCI:01:00:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "nvidia"<br />
Device "nvidia"<br />
# Uncomment this line if your computer has no display devices connected to<br />
# the NVIDIA GPU. Leave it commented if you have display devices<br />
# connected to the NVIDIA GPU that you would like to use.<br />
Option "UseDisplayDevice" "none"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "intel"<br />
Driver "intel"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "intel"<br />
Device "intel"<br />
EndSection<br />
<br />
Folgende Zeilen sollten nun in die .xinitrc im Homeverzeichnis.<br />
xrandr --setprovideroutputsource Intel NVIDIA-0<br />
xrandr --auto<br />
<br />
Für nähere Infos sei das [http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html Nvidia-Handbuch] empfohlen<br />
<br />
<br />
== Pure Video HD ==<br />
Es wird mindestens eine Grafikkarte mit der zweiten Generation von PureVideo HD(VP2) [http://en.wikipedia.org/wiki/Nvidia_PureVideo#Table_of_PureVideo_.28HD.29_GPUs] vorausgesetzt. Nvidia-Grafikkarten benötigen den proprietären Treiber um die Video-Decoding-Funktion per VDPAU bereitzustellen. Um die VA-API-Schnitstelle bereitzustellen benötigt man {{paket|libva-vdpau-driver}}<br />
<br />
Zuerst muss die VA-API-Kompatibilität geprüft werden.<br />
<br />
vainfo<br />
<br />
Um die Hardware decoding funktion der Grafikkarte zu benutzen benötigt man einen mediaplayer mit VDPAU oder VA-API-Unterstüzung.<br />
<br />
Um Hardwarebeschleunigung im [[MPlayer]] zu aktivieren muss die Konfigurationsdatei Ergänzt werden<br />
<br />
{{hc|1=~/.mplayer/config|2=<br />
vo=vdpau<br />
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau}}<br />
<br />
Um Hardwarebeschleunigung in [[VLC]] zu nutzen aktiviert man unter „Extras → Einstellungen → Input & Codecs“ die Option „Nutze die GPU-beschleunigte Dekodierung“.<br />
<br />
Um Hardwarebeschleunigung in [[smplayer]] zu nutzen, stellt man unter „Optionen → Einstellungen → Allgemein → Video“, den Ausgabetreiber auf {{ic|vdpau}}.<br />
<br />
Um Hardwarebeschleunigung im [[gnome-mplayer]] stellt man unter „Bearbeiten → Einstellungen“ die Videoausgabe auf {{ic|vdpau}} um.<br />
<br />
== Tips und Tricks ==<br />
Wer häufiger zwischen beiden Treibern wechselt kann ein einfaches Skript benutzen.<br />
Es ist teilweise dem englischen Wiki entnommen.<br />
<br />
#!/bin/bash<br />
# nouveau to/from nvidia <br />
set -e<br />
# check if root<br />
if [ $EUID -ne 0 ]; then<br />
echo "You must be root to run this script. Aborting...";<br />
exit 1;<br />
fi<br />
# nouveau to nvidia<br />
nvidia(){<br />
sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf<br />
pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl lib32-nouveau-dri lib32-mesa-libgl<br />
pacman -S --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils<br />
mkinitcpio -p linux<br />
mkinitcpio -p linux-ck<br />
}<br />
# nvidia to nouveau<br />
nouveau() {<br />
sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf<br />
pacman -Rdds --noconfirm nvidia lib32-nvidia-libgl nvidia-libgl nvidia-utils<br />
pacman -S --noconfirm nouveau-dri xf86-video-nouveau lib32-nouveau-dri mesa-libgl lib32-mesa-libgl<br />
mkinitcpio -p linux<br />
mkinitcpio -p linux-ck<br />
}<br />
# help message<br />
help() {<br />
echo -e "USAGE: \t -h\t:print this info"<br />
echo -e "\t -no\t:nvidia to nouveau"<br />
echo -e "\t -ni\t:nouveau to nvidia"<br />
}<br />
if [ $1 == '-h' ]; then<br />
help<br />
exit 0;<br />
fi<br />
# check direction<br />
if [ $1 == '-ni' ]; then<br />
nvidia<br />
exit 0;<br />
fi<br />
if [ $1 == '-no' ]; then<br />
nouveau<br />
exit 0;<br />
else<br />
help<br />
exit 1;<br />
fi<br />
## editor:emacs indent:4 <br />
<br />
<br />
Danach wird noch ein Neustart benötigt um den Wechsel zu vervollständigen.<br />
Das Skript muss natürlich an die eigenen Bedürfnisse angepasst werden.<br />
<br />
==Siehe auch==<br />
* [[KMS|Kernel Mode Setting]]<br />
* [[XRandR]]<br />
* [[X]]<br />
<br />
==Weblinks==<br />
<br />
* [http://nouveau.freedesktop.org/wiki/ Offizielle Seite von ''nouveau''] {{sprache|en}}<br />
<br />
[[Kategorie: Hardware]]<br />
[[Kategorie: Grafikkarten]]<br />
[[en:NVIDIA]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Vorlage:Paket&diff=20027Vorlage:Paket2017-09-05T19:51:36Z<p>Boenki: <span class="plainlinks archwiki-template-pkg"> wie bei Vorlage:AUR, da es mit dem neuen Wiki-Design komisch aussah. (Zu viel Leerraum hinter dem Link)</p>
<hr />
<div><noinclude>{{Vorlage}}<br />
Erzeugt einen Link auf das Paket in der Paketsuche.<br />
==Benutzung==<br />
{{ic|<nowiki>{{Paket|paketname}}</nowiki>}}<br />
oder<br />
{{ic|<nowiki>{{Paket|paketname|linktext}}</nowiki>}}<br />
==Beispiel==<br />
{{ic|<nowiki>{{Paket|pacman}}</nowiki>}} wird zu {{Paket|pacman}}<br />
<br />
{{ic|<nowiki>{{Paket|dvd+rw-tools|dieses Programm}}</nowiki>}} wird zu {{Paket|dvd+rw-tools|dieses Programm}}<br />
<br />
{{Hinweis|Eine Suche nach ''paketname'' findet ''paketname'', ''paketname'''''bar''' und auch '''foo'''-''paketname'''''bar'''.}}<br />
==Siehe auch==<br />
* [[Vorlage:AUR]]<br />
[[en:Template:pkg]]<br />
</noinclude><includeonly><span class="plainlinks archwiki-template-pkg">[https://www.archlinux.de/packages?search={{urlencode:{{{1}}}}} {{#if:{{{2|}}}|{{{2}}}|{{{1}}}}}]</span></includeonly></div>Boenkihttps://wiki.archlinux.de/index.php?title=Arch_Build_System&diff=20023Arch Build System2017-09-05T11:01:09Z<p>Boenki: versehntliche "mittlere Maustaste-pastes" entfernt</p>
<hr />
<div>{{veraltet}}<br />
{{achtung|Mit Wirkung vom 16.05.2017 existiert das Paket extra/abs nicht mehr. Die neue offizielle Alternative heißt asp. Bitte beachtet in diesem Zusammenhang die [https://github.com/falconindy/asp/blob/master/man/asp.1.txt Manpage].}}<br />
<br />
Das Arch Build System (ABS) wird genutzt um:<br />
<br />
* Neue Pakete für Software zu erstellen<br />
* Vorhande Pakete an die eigenen Bedürfnisse anzupassen<br />
<br />
Das Arch Build System besteht aus einem Werkzeug zum Herunterladen der PKGBUILDS (offiziell asp, alternativ z.B. pbget), [[Abs#Erstellung_von_Paketen|makepkg]] und [[pacman]].<br />
Dieser Artikel versucht nun eine Übersicht über das Erstellen von Paketen unter Archlinux zu geben. Detailreichere Informationen finden sich in den jeweiligen [[Manpages]].<br />
<br />
== Vorbereitung ==<br />
<br />
Man benötigt ein Tool, um das oder die PKGBUILDS, an denen man interessiert ist, herunter zu laden. Dazu kann man das Paket {{paket|asp}} installieren:<br />
<br />
pacman -S asp<br />
<br />
Dieses Paket wendet sich allerdings weniger an den gelegentlichen Paketersteller als an den Arch Linux Entwickler oder TU. Das erkennt man daran, dass die Pakete in einer Verzeichnisstruktur heruntergeladen werden, die der entspricht, die auf den offizellen Entwicklungsserver vorliegt. Ein Beispiel<br />
asp checkout emacs<br />
erzeugt ein Verzeichnis /var/tmp/emacs und darunter<br />
$ ls -lR /var/tmp/emacs<br />
/var/tmp/emacs:<br />
nsgesamt 8<br />
drwxr-xr-x 4 haawda users 4096 3. Sep 01:03 repos<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 trunk<br />
<br />
/var/tmp/emacs/repos:<br />
insgesamt 8<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 extra-i686<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 extra-x86_64<br />
<br />
/var/tmp/emacs/repos/extra-i686:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
/var/tmp/emacs/repos/extra-x86_64:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
/var/tmp/emacs/trunk:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
Das ist eine Struktur, mit der der gelegentliche Paketersteller vermutlich nicht arbeiten will. Hier bietet sich an, auf ein Tool wie [[pbget]] zurückzugreifen. pbget ist dem Ursprung nach eher ein AUR-Helper, kann aber auch offizielle PKGBUILDS herunterladen.<br />
pbget emacs<br />
z.B. erzeugt im aktuellen Verzeichnis ein Unterverzeichnis mit den Dateien, die man zur Erzeugung des offiziellen emacs-Paketes braucht. Das ist erheblich einfacher zu durchschauen.<br />
<br />
Alle sonstigen Pakete, die zur Erstellung von Paketen notwendig sind, befinden sich in der Gruppe base-devel:<br />
<br />
pacman -S base-devel<br />
<br />
== Das Paket ==<br />
<br />
Ein Paket ist eine Datei, die meist ''foo''.pkg.tar.gz bzw. ''foo''.pkg.tar.xz genannt ist.<br />
<br />
Es ist nicht mehr, als ein gz bzw. xz komprimiertes tar-Archiv, das folgendes enthält:<br />
<br />
* Die zu installierenden Dateien<br />
<br />
*.PKGINFO : enthält alle Metadaten, die pacman für den Umgang mit Paketen, Abhängigkeiten etc. benötigt.<br />
<br />
*.INSTALL : enthält Befehle, die nach dem Installieren/Aktualisieren/Deinstallieren ausgeführt werden. (Nur vorhanden, wenn es in PKGBUILD definiert wurde)<br />
<br />
== Das PKGBUILD ==<br />
<br />
PKGBUILD enthält die Metadaten über ein Paket, die von [[pacman]] benötigt werden, um die Pakete verwalten zu können. Es stellt die Grundlage für Pakete in Archlinux dar. Ein PKGBUILD ist eine einfache Textdatei, die beispielsweise so aussehen kann:<br />
<br />
# $Id: PKGBUILD,v 1.12 2003/11/06 08:26:13 dorphell Exp $<br />
# Maintainer: judd <jvinet@zeroflux.org><br />
# Contributor: Judd Vinet <jvinet@zeroflux.org><br />
pkgname=foo<br />
pkgver=0.99 # note: if the pkgver had been '0.99-10' then use an underscore. like '0.99_10'<br />
pkgrel=1<br />
pkgdesc="short description of foo"<br />
arch=(i686 x86_64)<br />
url="http://www.foo.org"<br />
license=('GPL')<br />
groups=<br />
provides=<br />
depends=('qt' 'python')<br />
makedepends=('guile')<br />
conflicts=('yafoo')<br />
replaces=('mffoo')<br />
backup=('etc/foo/foo.conf')<br />
install='foo.install'<br />
source=(http://www.foo.org/download/$pkgname-$pkgver.tar.gz)<br />
md5sums=('2c0cca3ef6330a187c6ef4fe41eca')<br />
<br />
build() {<br />
cd $srcdir/$pkgname-$pkgver<br />
./configure --prefix=/usr<br />
make<br />
}<br />
package() {<br />
cd $srcdir/$pkgname-$pkgver<br />
make DESTDIR=$pkgdir install<br />
}<br />
<br />
Erklärung:<br />
<br />
* '''# text''' : Kommentare<br />
* '''# $Id: PKGBUILD,v ...''' : Das SVN-Tag für dieses Paket (automatisch vom Archlinux-SVN System erstellt). Dies sollte bei Paketen, die für das [[AUR]] gedacht sind, stets weggelassen werden.<br />
* '''# Maintainer''' : Der Verantwortliche für dieses Paket in den offiziellen Repositories.<br />
* '''# Contributor''' : Der Verfasser der ersten PKGBUILD für dieses Paket.<br />
* '''pkgname''' : Der Paketname<br />
* '''pkgver''' : Die Paketversion<br />
* '''pkgrel''' : Die Releasenummer des Arch Paketes. Wird geändert, wenn das PKGBUILD verändert wurde, sie unterscheided sich also von der Paketversion.<br />
* '''pkgdesc''' : Eine Kurzbeschreibung des Paketes. Du siehst sie in der [http://www.archlinux.de/?page=Packages Paket Datenbank]<br />
* '''arch''' : Die Architekturen, auf denen das Paket kompiliert und getestet wurde, oder 'any' bei plattformunabhängigen Paketen.<br />
* '''url''' : Die Homepage des Programmes<br />
* '''license''' : Die Lizenz, unter der das Programm steht<br />
* '''groups''' : Wird genutzt um Pakete zu Gruppen zusammen zu fassen. Wenn du z.B. KDE installieren willst, werden alle Pakete installiert, die zur Gruppe 'kde' gehören<br />
* '''provides''' : Wird genutzt, wenn das Paket ein anderes Paket bereitstellt.<br />
* '''depends''' : Liste der Abhängigkeiten um das Programm auszuführen.<br />
* '''makedepends''' : Liste der Abhängigkeiten um das Programm zu kompilieren. Pakete, die schon unter depends aufgeführt wurden, sind hier nicht noch einmal aufzuführen.<br />
* '''conflicts''' : Pakete, die nicht zusammen mit diesem Programm installiert sein können. In unserem Fall steht ''foo'' in Konflikt zu ''yafoo''. <br />
* '''replaces''' : Das neue Paket ersetzt das alte. In unserem Fall wird ''mffoo'' nicht mehr unterstützt und wird durch ''foo'' ersetzt.<br />
* '''backup''' : Dateien, die gesichert werden (als .pacsave), wenn das Programm deinstalliert wird.<br />
* '''install''' : Spezifiziert ein Installationsskript, das im Paket enthalten ist. (Muss sich mit PKGBUILD im selben Verzeichnis befinden)<br />
* '''source''' : Die Bezugsquelle des Quelltextes. Kann sowohl ein lokales Paket, als auch ein remote "http" oder "ftp" Paket sein. Der Dateiname wird aus ''pkgname'' und ''pkgver'' erstellt, damit der Pfad nicht bei jeder neuen Version angepasst werden muss.<br />
* '''md5sums''' : MD5 Summen der Quelltexte um beschädigte Dateien auszuschließen.<br />
* '''build()''' : Alle Schritte, die nötig sind um das Paket zu kompilieren.<br />
<br />
=== Die build-Funktion und die Package-Funktion ===<br />
In der build-Funktion werden die Anweisungen ausgeführt, die nötig sind, um das Paket zu kompilieren.<br />
<br />
In der package-Funktion werden die zu installierenden Dateien und Verzeichnisse so abgelegt, dass makepkg daraus einen Tarball - das Paket - erstellen kann, der dann von [[pacman]] installiert werden kann. Es kann aber auch mehrere Package-Funktionen geben. Dann spricht man von [[split packages]].<br />
----<br />
Wenn du dich nicht mit dem Bauen von Paketen auskennst, solltest du wissen, dass die meisten Pakete über den ''Dreisatz'' erstellt werden können:<br />
<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
''./configure'' überprüft zunächst, ob alle Voraussetzungen für das zu kompilierende Programm erfüllt sind. Über dieses Script lässt sich auch konfigurieren, wie und mit welchen Funktionen ein Programm kompiliert wird. ''./configure --help'' zeigt meistens eine Übersicht über die Optionen, die verfügbar sind. ''make'' kompiliert schließlich das Paket und '' make install'' installiert die Dateien.<br />
<br />
Du solltest immer die ''INSTALL'' oder die ''README'' Datei des jeweiligen Pakets lesen, um zu erfahren, wie es erstellt und installiert werden sollte, denn nicht alle Pakete nutzen diesen ''Dreisatz''!<br />
----<br />
<br />
Eine 'Standard' build-Funktion sieht so aus:<br />
<br />
build() {<br />
cd $srcdir/$pkgname-$pkgver<br />
./configure --prefix=/usr<br />
make<br />
}<br />
<br />
Erklärung:<br />
<br />
* In das Verzeichnis der von ''makepkg'' entpackten Quelltexte wechseln (hier treten in der Praxis oft schon Probleme auf; besser, man schaut nach ob das Verzeichnis wirklich so heißt):<br />
cd $srcdir/$pkgname-$pkgver<br />
<br />
* Konfigurieren des Paketes mit dem Installationsverzeichnis ''/usr'' und unter Umständen weiteren Optionen:<br />
./configure --prefix=/usr --option1 --option2<br />
<br />
Da die meisten Programme davon ausgehen, dass nach /usr/local installiert werden soll, wir unter Arch Linux aber nach /usr installieren wollen, ist es wichtig, das Prefix zu setzen.<br />
<br />
* kompilieren:<br />
make<br />
<br />
Eine 'Standard' package-Funktion sieht so aus:<br />
<br />
* installieren:<br />
make DESTDIR=$pkgdir install<br />
<br />
Dabei wird das Programm nicht in ''/usr'' sondern in ''$pkgdir/usr'' installiert, so dass erst einmal [[makepkg]] und indirekt auch [[pacman]] Kontrolle über die Dateien hat. Ob ''DESTDIR'' verwendet wird, hängt vom jeweiligen Programm bzw. dessen Makefile ab. Manchmal muss z.B. auch PREFIX verwendet und entsprechend umgebogen werden.<br />
<br />
make PREFIX=$pkgdir/usr install<br />
<br />
=== Installationsdateien ===<br />
Installationsdateien stellen die Möglichkeit bereit, Anweisungen vor oder nach der eigentlichen Installation auszuführen. Seitdem [[pacman]] Hooks verwenden kann, sind sie in einer Vielzahl von Fällen nicht mehr nötig und sollten dann auch vermieden werden. Dazu müssen sie im PKGBUILD angegeben werden, indem man die Variable install setzt. Unser Beispiel gibt 'foo.install' als Installationsdatei an. Es könnte z.B. folgendes enthalten:<br />
<br />
post_install() {<br />
/bin/true<br />
}<br />
<br />
post_upgrade() {<br />
/bin/true<br />
}<br />
<br />
pre_remove() {<br />
/bin/true<br />
}<br />
<br />
Erklärungen:<br />
<br />
* '''post_install''': Wird nach der Installation ausgeführt. Es wird ein Argument übergeben:<br />
** Die Paketversion<br />
* '''post_upgrade''': Wird ausgeführt, nachdem alle Dateien aktualisiert wurden. Es werden zwei Argumente übergeben:<br />
** Die neue Paketversion<br />
** Die alte Paketversion<br />
* '''pre_remove''': Wird ausgeführt, bevor Dateien gelöscht werden (beendet z.B. daemonen) und übergibt ein Argument:<br />
** Die Paketversion<br />
<br />
== Der Verzeichnisbaum der offiziellen Pakete ==<br />
Bei Arch Linux werden die PKGBUILDs, anhand derer die Pakete in den offiziellen Repositories gebaut sind, mit Subversion verwaltet. Darüber ist noch eine git-Infrastruktur mittels svntogit etabliert. <br />
<br />
Will man die Gesamtheit aller Pakete auf den lokalen Rechner herunterladen oder aktualisieren, so kann dafür also [[subversion]] oder [[git]] verwendet werden. <br />
<br />
Wir bitten jedoch darum, davon abzusehen. Die Repos sind groß, und die Bandbreite zu den Arch Linux Servern ist begrenzt. Außerdem wird auch viel Platz auf dem lokalen Dateisystem benötigt. <br />
<br />
== Erstellung von Paketen ==<br />
{{achtung|Um Schäden am System zu vermeiden, sollten Pakete nie als root erstellt werden!}}<br />
Pakete werden mit ''makepkg'' erstellt. Dazu muss in das Verzeichnis gewechselt werden, in dem sich das Paket befindet und hier ''makepkg'' ausgeführt werden. Verzeichnisse aus dem ABS-Verzeichnisbaum sollten zuvor woandershin, zum Beispiel nach ''/var/abs/local'' oder nach ~/paketierung kopiert werden und nicht zur Erstellung des Pakets benutzt werden.<br />
<br />
~/paketierung/foo/PKGBUILD (und ggf. noch weitere Dateien wie install-files, desktop-files, Patches u.v.m.<br />
<br />
Sind nicht alle Abhängigkeiten zum Bau vorhanden, listet ''makepkg'' diese auf. ''makepkg -s'' würde versuchen, sie zu installieren. Das funktioniert aber nur, wenn sie in einem Repo vorhanden sind, auf das die Datei [[pacman.conf]] referenziert.<br />
<br />
cd ~/paketierung/foo<br />
makepkg<br />
<br />
Jetzt entstehen ein Verzeichnis namens {{ic|src}}, und eines namens {{ic|pkg}}. In ersterem findet der Paketbau statt in letzerem landen die Dateien, die ins fertige Paket sollen. Im PKGBUILD kann mit $srcdir bzw. $pkgdir darauf zugegriffen werden.<br />
<br />
~/paketierung/foo/PKGBUILD<br />
src<br />
pkg<br />
<br />
Das erstellte Paket (oder je nach Konfiguration der Variablen PKGDEST in der [[makepkg.conf]] ein Link darauf) befindet sich jetzt im selben Verzeichnis und kann mit [[pacman]] installiert werden:<br />
pacman -U foo-0.99-x86_64.pkg.tar.gz<br />
<br />
== Konfiguration ==<br />
<br />
=== makepkg.conf ===<br />
{{achtung|Änderungen in makepkg.conf können Probleme und Fehler in den Paketen nach sich ziehen und sollten daher nur von erfahreneren Nutzern durchgeführt werden.}}<br />
In der Datei ''/etc/makepkg.conf'' werden die Eigenschaften von ''makepkg'' festgelegt. Dabei lassen sich die Standardeinstellungen der Programme verändern, die ''makepkg'' verwendet, um Pakete zu erstellen.<br />
Zu nennen sind dabei die Umgebungsvariablen MAKEFLAGS, CFLAGS und CXXFLAGS, die ''gcc'' und ''make'' beeinflussen.<br />
<br />
==Hinzufügen von Patches==<br />
Hier wird beschrieben wie man einen Patch den man selbst erstellt oder heruntergeladen hat, in die {{ic|prepare ()}} Funktion einer {{ic|PKGBUILD}} Datei einpflegt.<br />
<br />
Als erstes fügt man einen Eintrag für den Patch in die {{ic|source}} Zeile ein. Dieser Eintrag muss durch ein Leerzeichen von dem URL zur Originalquelle getrennt sein.<br />
Ist der Patch im Internet verfügbar, trägt man den vollständigen URL zum Patch ein, der Patch wird dann später beim eigentlichen Kompilieren des Paketes automatisch heruntergeladen und im src Verzeichnis abgelegt. Hat man den Patch selbst erstellt, oder bereits vorher heruntergeladen, legt man ihn im selben Verzeichnis wie die {{ic|PKGBUILD}} Datei ab. In diesem Fall trägt man lediglich den Dateinamen des Patches in die {{ic|source}} Zeile ein. Der Patch wird dann automatisch in das {{ic|source}} Verzeichnis kopiert. Sollte man die {{ic|PKGBUILD}} Datei weitergeben wollen, so muss man sie mit der Patchdatei zusammen weitergeben.<br />
Anschließend fügt man einen Eintrag zur {{ic|md5sums}} bzw. {{ic|sha1sums}} Zeile hinzu. Die Prüfsummen erstellt man mittels {{ic|makepkg -g}}.<br />
Nun erstellt man die {{ic|prepare()}} Funktion. Um das Patchen zu automatisieren trägt man die Anweisung in das zu patchende Verzeichnis zu wechseln ein; z.B.<br />
cd $srcdir/$pkgname-$pkgver<br />
oder ähnlich. {{ic|$pkname-$pkgver}} ist oftmals, aber nicht immer, der Name des beim Entpacken einer heruntergeladenen Quelldatei erstellten Verzeichnisses.<br />
Abschließend muss man noch dafür sorgen, dass der Patch aus dem angegebenen Verzeichnis heraus appliziert werden kann. Dies geschieht, indem man<br />
patch -p1 -i $srcdir/pkgname.patch<br />
in die {{ic|prepare()}} Funktion einträgt. Für {{ic|pkgname.patch}} setzt man hier den zuvor in die {{ic|source}} Zeile eingetragenen Dateinamen des Patches ein.<br />
Hier ein zur Veranschaulichung ein Beispiel für eine {{ic|prepare}} Funktion mit Patchfunktion:<br />
prepare() {<br />
cd "${srcdir}/${pkgname}-${pkgver}"<br />
sed 's/file_handle/file_handle_rofl/g' -i istream.*<br />
patch -p1 -i ../https-segfault.patch <br />
patch -p1 -1 ../w3m-bdwgc72.diff<br />
}<br />
<br />
Das Paket kann nun in gewohnter Weise gebaut werden.<br />
<br />
== Siehe auch ==<br />
* [[pacman]]<br />
* [[AUR]]<br />
* [[:en:Patching_in_ABS|Patching in ABS]] {{Sprache|en}}<br />
<br />
== Weblinks ==<br />
* [http://www.gnu.org/software/make/manual/html_node/Options-Summary.html#Options-Summary Informationen über MAKEFLAGS] {{sprache|en}}<br />
* [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Option-Summary.html#Option-Summary Informationen über CFLAGS und CXXFLAGS] {{sprache|en}}<br />
* [http://en.gentoo-wiki.com/wiki/Safe_Cflags Gentoo Wiki: Safe CFLAGS] {{sprache|en}} <br />
<br />
{{ÜberFDL||Seite=http://wiki.archlinux.org|Name=ArchLinux.org Wiki|Original=http://wiki.archlinux.org/index.php?title=ABS_-_The_Arch_Build_System}}<br />
<br />
[[Kategorie:Paketverwaltung]]<br />
[[en:Arch Build System]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Arch_Build_System&diff=20022Arch Build System2017-09-05T10:58:44Z<p>Boenki: </p>
<hr />
<div>{{veraltet}}<br />
{{achtung|Mit Wirkung vom 16.05.2017 existiert das Paket extra/abs nicht mehr. Die neue offizielle Alternative heißt asp. Bitte beachtet in diesem Zusammenhang die [https://github.com/falconindy/asp/blob/master/man/asp.1.txt Manpage].}}<br />
<br />
Das Arch Build System (ABS) wird genutzt um:<br />
<br />
* Neue Pakete für Software zu erstellen<br />
* Vorhande Pakete an die eigenen Bedürfnisse anzupassen<br />
<br />
Das Arch Build System besteht aus einem Werkzeug zum Herunterladen der PKGBUILDS (offiziell asp, alternativ z.B. pbget), [[Abs#Erstellung_von_Paketen|makepkg]] und [[pacman]].<br />
Dieser Artikel versucht nun eine Übersicht über das Erstellen von Paketen unter Archlinux zu geben. Detailreichere Informationen finden sich in den jeweiligen [[Manpages]].<br />
<br />
== Vorbereitung ==<br />
<br />
Man benötigt ein Tool, um das oder die PKGBUILDS, an denen man interessiert ist, herunter zu laden. Dazu kann man das Paket {{paket|asp}} installieren:<br />
<br />
pacman -S asp<br />
<br />
Dieses Paket wendet sich allerdings weniger an den gelegentlichen Paketersteller als an den Arch Linux Entwickler oder TU. Das erkennt man daran, dass die Pakete in einer Verzeichnisstruktur heruntergeladen werden, die der entspricht, die auf den offizellen Entwicklungsserver vorliegt. Ein Beispiel<br />
asp checkout emacs<br />
erzeugt ein Verzeichnis /var/tmp/emacs und darunter<br />
$ ls -lR /var/tmp/emacs<br />
/var/tmp/emacs:<br />
nsgesamt 8<br />
drwxr-xr-x 4 haawda users 4096 3. Sep 01:03 repos<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 trunk<br />
<br />
/var/tmp/emacs/repos:<br />
insgesamt 8<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 extra-i686<br />
drwxr-xr-x 2 haawda users 4096 3. Sep 01:03 extra-x86_64<br />
<br />
/var/tmp/emacs/repos/extra-i686:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
/var/tmp/emacs/repos/extra-x86_64:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
/var/tmp/emacs/trunk:<br />
insgesamt 4<br />
-rw-r--r-- 1 haawda users 1546 3. Sep 01:03 PKGBUILD<br />
<br />
Das ist eine Struktur, mit der der gelegentliche Paketersteller vermutlich nicht arbeiten will. Hier bietet sich an, auf ein Tool wie [[pbget]] zurückzugreifen. pbget ist dem Ursprung nach eher ein AUR-Helper, kann aber auch offizielle PKGBUILDS herunterladen.<br />
pbget emacs<br />
z.B. erzeugt im aktuellen Verzeichnis ein Unterverzeichnis mit den Dateien, die man zur Erzeugung des offiziellen emacs-Paketes braucht. Das ist erheblich einfacher zu durchschauen.<br />
<br />
Alle sonstigen Pakete, die zur Erstellung von Paketen notwendig sind, befinden sich in der Gruppe base-devel:<br />
<br />
pacman -S base-devel<br />
<br />
== Das Paket ==<br />
<br />
Ein Paket ist eine Datei, die meist ''foo''.pkg.tar.gz bzw. ''foo''.pkg.tar.xz genannt ist.<br />
<br />
Es ist nicht mehr, als ein gz bzw. xz komprimiertes tar-Archiv, das folgendes enthält:<br />
<br />
* Die zu installierenden Dateien<br />
<br />
*.PKGINFO : enthält alle Metadaten, die pacman für den Umgang mit Paketen, Abhängigkeiten etc. benötigt.<br />
<br />
*.INSTALL : enthält Befehle, die nach dem Installieren/Aktualisieren/Deinstallieren ausgeführt werden. (Nur vorhanden, wenn es in PKGBUILD definiert wurde)<br />
<br />
== Das PKGBUILD ==<br />
<br />
PKGBUILD enthält die Metadaten über ein Paket, die von [[pacman]] benötigt werden, um die Pakete verwalten zu können. Es stellt die Grundlage für Pakete in Archlinux dar. Ein PKGBUILD ist eine einfache Textdatei, die beispielsweise so aussehen kann:<br />
<br />
# $Id: PKGBUILD,v 1.12 2003/11/06 08:26:13 dorphell Exp $<br />
# Maintainer: judd <jvinet@zeroflux.org><br />
# Contributor: Judd Vinet <jvinet@zeroflux.org><br />
pkgname=foo<br />
pkgver=0.99 # note: if the pkgver had been '0.99-10' then use an underscore. like '0.99_10'<br />
pkgrel=1<br />
pkgdesc="short description of foo"<br />
arch=(i686 x86_64)<br />
url="http://www.foo.org"<br />
license=('GPL')<br />
groups=<br />
provides=<br />
depends=('qt' 'python')<br />
makedepends=('guile')<br />
conflicts=('yafoo')<br />
replaces=('mffoo')<br />
backup=('etc/foo/foo.conf')<br />
install='foo.install'<br />
source=(http://www.foo.org/download/$pkgname-$pkgver.tar.gz)<br />
md5sums=('2c0cca3ef6330a187c6ef4fe41eca')<br />
<br />
build() {<br />
cd $srcdir/$pkgname-$pkgver<br />
./configure --prefix=/usr<br />
make<br />
}<br />
package() {<br />
cd $srcdir/$pkgname-$pkgver<br />
make DESTDIR=$pkgdir install<br />
}<br />
<br />
Erklärung:<br />
<br />
* '''# text''' : Kommentare<br />
* '''# $Id: PKGBUILD,v ...''' : Das SVN-Tag für dieses Paket (automatisch vom Archlinux-SVN System erstellt). Dies sollte bei Paketen, die für das [[AUR]] gedacht sind, stets weggelassen werden.<br />
* '''# Maintainer''' : Der Verantwortliche für dieses Paket in den offiziellen Repositories.<br />
* '''# Contributor''' : Der Verfasser der ersten PKGBUILD für dieses Paket.<br />
* '''pkgname''' : Der Paketname<br />
* '''pkgver''' : Die Paketversion<br />
* '''pkgrel''' : Die Releasenummer des Arch Paketes. Wird geändert, wenn das PKGBUILD verändert wurde, sie unterscheided sich also von der Paketversion.<br />
* '''pkgdesc''' : Eine Kurzbeschreibung des Paketes. Du siehst sie in der [http://www.archlinux.de/?page=Packages Paket Datenbank]<br />
* '''arch''' : Die Architekturen, auf denen das Paket kompiliert und getestet wurde, oder 'any' bei plattformunabhängigen Paketen.<br />
* '''url''' : Die Homepage des Programmes<br />
* '''license''' : Die Lizenz, unter der das Programm steht<br />
* '''groups''' : Wird genutzt um Pakete zu Gruppen zusammen zu fassen. Wenn du z.B. KDE installieren willst, werden alle Pakete installiert, die zur Gruppe 'kde' gehören<br />
* '''provides''' : Wird genutzt, wenn das Paket ein anderes Paket bereitstellt.<br />
* '''depends''' : Liste der Abhängigkeiten um das Programm auszuführen.<br />
* '''makedepends''' : Liste der Abhängigkeiten um das Programm zu kompilieren. Pakete, die schon unter depends aufgeführt wurden, sind hier nicht noch einmal aufzuführen.<br />
* '''conflicts''' : Pakete, die nicht zusammen mit diesem Programm installiert sein können. In unserem Fall steht ''foo'' in Konflikt zu ''yafoo''. <br />
* '''replaces''' : Das neue Paket ersetzt das alte. In unserem Fall wird ''mffoo'' nicht mehr unterstützt und wird durch ''foo'' ersetzt.<br />
* '''backup''' : Dateien, die gesichert werden (als .pacsave), wenn das Programm deinstalliert wird.<br />
* '''install''' : Spezifiziert ein Installationsskript, das im Paket enthalten ist. (Muss sich mit PKGBUILD im selben Verzeichnis befinden)<br />
* '''source''' : Die Bezugsquelle des Quelltextes. Kann sowohl ein lokales Paket, als auch ein remote "http" oder "ftp" Paket sein. Der Dateiname wird aus ''pkgname'' und ''pkgver'' erstellt, damit der Pfad nicht bei jeder neuen Version angepasst werden muss.<br />
* '''md5sums''' : MD5 Summen der Quelltexte um beschädigte Dateien auszuschließen.<br />
* '''build()''' : Alle Schritte, die nötig sind um das Paket zu kompilieren.<br />
<br />
=== Die build-Funktion und die Package-Funktion ===<br />
In der build-Funktion werden die Anweisungen ausgeführt, die nötig sind, um das Paket zu kompilieren.<br />
<br />
In der package-Funktion werden die zu installierenden Dateien und Verzeichnisse so abgelegt, dass makepkg daraus einen Tarball - das Paket - erstellen kann, der dann von [[pacman]] installiert werden kann. Es kann aber auch mehrere Package-Funktionen geben. Dann spricht man von [[split packages]].<br />
----<br />
Wenn du dich nicht mit dem Bauen von Paketen auskennst, solltest du wissen, dass die meisten Pakete über den ''Dreisatz'' erstellt werden können:<br />
<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
''./configure'' überprüft zunächst, ob alle Voraussetzungen für das zu kompilierende Programm erfüllt sind. Über dieses Script lässt sich auch konfigurieren, wie und mit welchen Funktionen ein Programm kompiliert wird. ''./configure --help'' zeigt meistens eine Übersicht über die Optionen, die verfügbar sind. ''make'' kompiliert schließlich das Paket und '' make install'' installiert die Dateien.<br />
<br />
Du solltest immer die ''INSTALL'' oder die ''README'' Datei des jeweiligen Pakets lesen, um zu erfahren, wie es erstellt und installiert werden sollte, denn nicht alle Pakete nutzen diesen ''Dreisatz''!<br />
----<br />
<br />
Eine 'Standard' build-Funktion sieht so aus:<br />
<br />
build() {<br />
cd $srcdir/$pkgname-$pkgver<br />
./configure --prefix=/usr<br />
make<br />
}<br />
<br />
Erklärung:<br />
<br />
* In das Verzeichnis der von ''makepkg'' entpackten Quelltexte wechseln (hier treten in der Praxis oft schon Probleme auf; besser, man schaut nach ob das Verzeichnis wirklich so heißt):<br />
cd $srcdir/$pkgname-$pkgver<br />
<br />
* Konfigurieren des Paketes mit dem Installationsverzeichnis ''/usr'' und unter Umständen weiteren Optionen:<br />
./configure --prefix=/usr --option1 --option2<br />
<br />
Da die meisten Programme davon ausgehen, dass nach /usr/local installiert werden soll, wir unter Arch Linux aber nach /usr installieren wollen, ist es wichtig, das Prefix zu setzen.<br />
<br />
* kompilieren:<br />
make<br />
<br />
Eine 'Standard' package-Funktion sieht so aus:<br />
<br />
* installieren:<br />
make DESTDIR=$pkgdir install<br />
<br />
Dabei wird das Programm nicht in ''/usr'' sondern in ''$pkgdir/usr'' installiert, so dass erst einmal [[makepkg]] und indirekt auch [[pacman]] Kontrolle über die Dateien hat. Ob ''DESTDIR'' verwendet wird, hängt vom jeweiligen Programm bzw. dessen Makefile ab. Manchmal muss z.B. auch PREFIX verwendet und entsprechend umgebogen werden.<br />
<br />
make PREFIX=$pkgdir/usr install<br />
<br />
=== Installationsdateien ===<br />
Installationsdateien stellen die Möglichkeit bereit, Anweisungen vor oder nach der eigentlichen Installation auszuführen. Seitdem [[pacman]] Hooks verwenden kann, sind sie in einer Vielzahl von Fällen nicht mehr nötig und sollten dann auch vermieden werden. Dazu müssen sie im PKGBUILD angegeben werden, indem man die Variable install setzt. Unser Beispiel gibt 'foo.install' als Installationsdatei an. Es könnte z.B. folgendes enthalten:<br />
<br />
post_install() {<br />
/bin/true<br />
}<br />
<br />
post_upgrade() {<br />
/bin/true<br />
}<br />
<br />
pre_remove() {<br />
/bin/true<br />
}<br />
<br />
Erklärungen:<br />
<br />
* '''post_install''': Wird nach der Installation ausgeführt. Es wird ein Argument übergeben:<br />
** Die Paketversion<br />
* '''post_upgrade''': Wird ausgeführt, nachdem alle Dateien aktualisiert wurden. Es werden zwei Argumente übergeben:<br />
** Die neue Paketversion<br />
** Die alte Paketversion<br />
* '''pre_remove''': Wird ausgeführt, bevor Dateien gelöscht werden (beendet z.B. daemonen) und übergibt ein Argument:<br />
** Die Paketversion<br />
<br />
== Der Verzeichnisbaum der offiziellen Pakete ==<br />
Bei Arch Linux werden die PKGBUILDs, anhand derer die Pakete in den offiziellen Repositories gebaut sind, mit Subversion verwaltet. Darüber ist noch eine git-Infrastruktur mittels svntogit etabliert. <br />
<br />
Will man die Gesamtheit aller Pakete auf den lokalen Rechner herunterladen oder aktualisieren, so kann dafür also [[subversion]] oder [[git]] verwendet werden. <br />
<br />
Wir bitten jedoch darum, davon abzusehen. Die Repos sind groß, und die Bandbreite zu den Arch Linux Servern ist begrenzt. Außerdem wird auch viel Platz auf dem lokalen Dateisystem benötigt. <br />
<br />
== Erstellung von Paketen ==d ausgeführt<br />
{{achtung|Um Schäden am System zu vermeiden, sollten Pakete nie als root erstellt werden!}}<br />
Pakete werden mit ''makepkg'' erstellt. Dazu muss in das Verzeichnis gewechselt werden, in dem sich das Paket befindet und hier ''makepkg'' ausgeführt werden. Verzeichnisse aus dem ABS-Verzeichnisbaum sollten zuvor woandershin, zum Beispiel nach ''/var/abs/local'' oder nach ~/paketierung kopiert werden und nicht zur Erstellung des Pakets benutzt werden.<br />
<br />
~/paketierung/foo/PKGBUILD (und ggf. noch weitere Dateien wie install-files, desktop-files, Patches u.v.m.<br />
<br />
Sind nicht alle Abhängigkeiten zum Bau vorhanden, listet ''makepkg'' diese auf. ''makepkg -s'' würde versuchen, sie zu installieren. Das funktioniert aber nur, wenn sie in einem Repo vorhanden sind, auf das die Datei [[pacman.conf]] referenziert.<br />
<br />
cd ~/paketierung/foo<br />
makepkg<br />
<br />
Jetzt entstehen ein Verzeichnis namens {{ic|src}}, und eines namens {{ic|pkg}}. In ersterem findet der Paketbau statt in letzerem landen die Dateien, die ins fertige Paket sollen. Im PKGBUILD kann mit $srcdir bzw. $pkgdir darauf zugegriffen werden.<br />
<br />
~/paketierung/foo/PKGBUILD<br />
src<br />
pkg<br />
<br />
Das erstellte Paket (oder je nach Konfiguration der Variablen PKGDEST in der [[makepkg.conf]] ein Link darauf) befindet sich jetzt im selben Verzeichnis und kann mit [[pacman]] installiert werden:<br />
pacman -U foo-0.99-x86_64.pkg.tar.gz<br />
d ausgeführt<br />
== Konfiguration ==<br />
<br />
=== makepkg.conf ===<br />
{{achtung|Änderungen in makepkg.conf können Probleme und Fehler in den Paketen nach sich ziehen und sollten daher nur von erfahreneren Nutzern durchgeführt werden.}}<br />
In der Datei ''/etc/makepkg.conf'' werden die Eigenschaften von ''makepkg'' festgelegt. Dabei lassen sich die Standardeinstellungen der Programme verändern, die ''makepkg'' verwendet, um Pakete zu erstellen.<br />
Zu nennen sind dabei die Umgebungsvariablen MAKEFLAGS, CFLAGS und CXXFLAGS, die ''gcc'' und ''make'' beeinflussen.<br />
<br />
==Hinzufügen von Patches==<br />
Hier wird beschrieben wie man einen Patch den man selbst erstellt oder heruntergeladen hat, in die {{ic|prepare ()}} Funktion einer {{ic|PKGBUILD}} Datei einpflegt.<br />
<br />
Als erstes fügt man einen Eintrag für den Patch in die {{ic|source}} Zeile ein. Dieser Eintrag muss durch ein Leerzeichen von dem URL zur Originalquelle getrennt sein.<br />
Ist der Patch im Internet verfügbar, trägt man den vollständigen URL zum Patch ein, der Patch wird dann später beim eigentlichen Kompilieren des Paketes automatisch heruntergeladen und im src Verzeichnis abgelegt. Hat man den Patch selbst erstellt, oder bereits vorher heruntergeladen, legt man ihn im selben Verzeichnis wie die {{ic|PKGBUILD}} Datei ab. In diesem Fall trägt man lediglich den Dateinamen des Patches in die {{ic|source}} Zeile ein. Der Patch wird dann automatisch in das {{ic|source}} Verzeichnis kopiert. Sollte man die {{ic|PKGBUILD}} Datei weitergeben wollen, so muss man sie mit der Patchdatei zusammen weitergeben.<br />
Anschließend fügt man einen Eintrag zur {{ic|md5sums}} bzw. {{ic|sha1sums}} Zeile hinzu. Die Prüfsummen erstellt man mittels {{ic|makepkg -g}}.<br />
Nun erstellt man die {{ic|prepare()}} Funktion. Um das Patchen zu automatisieren trägt man die Anweisung in das zu patchende Verzeichnis zu wechseln ein; z.B.<br />
cd $srcdir/$pkgname-$pkgver<br />
oder ähnlich. {{ic|$pkname-$pkgver}} ist oftmals, aber nicht immer, der Name des beim Entpacken einer heruntergeladenen Quelldatei erstellten Verzeichnisses.<br />
Abschließend muss man noch dafür sorgen, dass der Patch aus dem angegebenen Verzeichnis heraus appliziert werden kann. Dies geschieht, indem man<br />
patch -p1 -i $srcdir/pkgname.patch<br />
in die {{ic|prepare()}} Funktion einträgt. Für {{ic|pkgname.patch}} setzt man hier den zuvor in die {{ic|source}} Zeile eingetragenen Dateinamen des Patches ein.<br />
Hier ein zur Veranschaulichung ein Beispiel für eine {{ic|prepare}} Funktion mit Patchfunktion:<br />
prepare() {<br />
cd "${srcdir}/${pkgname}-${pkgver}"<br />
sed 's/file_handle/file_handle_rofl/g' -i istream.*<br />
patch -p1 -i ../https-segfault.patch <br />
patch -p1 -1 ../w3m-bdwgc72.diff<br />
}<br />
<br />
Das Paket kann nun in gewohnter Weise gebaut werden.<br />
<br />
== Siehe auch ==<br />
* [[pacman]]<br />
* [[AUR]]<br />
* [[:en:Patching_in_ABS|Patching in ABS]] {{Sprache|en}}<br />
<br />
== Weblinks ==<br />
* [http://www.gnu.org/software/make/manual/html_node/Options-Summary.html#Options-Summary Informationen über MAKEFLAGS] {{sprache|en}}<br />
* [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Option-Summary.html#Option-Summary Informationen über CFLAGS und CXXFLAGS] {{sprache|en}}<br />
* [http://en.gentoo-wiki.com/wiki/Safe_Cflags Gentoo Wiki: Safe CFLAGS] {{sprache|en}} <br />
<br />
{{ÜberFDL||Seite=http://wiki.archlinux.org|Name=ArchLinux.org Wiki|Original=http://wiki.archlinux.org/index.php?title=ABS_-_The_Arch_Build_System}}<br />
<br />
[[Kategorie:Paketverwaltung]]<br />
[[en:Arch Build System]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=RandR&diff=19867RandR2017-07-07T05:07:02Z<p>Boenki: Vorlage:Installation</p>
<hr />
<div>{{righttoc}}<br />
[[X]] stellt über die '''R'''esize '''and''' '''R'''otate Erweiterung (RandR) die Möglichkeit bereit, Monitorauflösungen, das Hinzufügen und Entfernen von Monitoren und ähnliches während der Laufzeit von X zu konfigurieren. Andernfalls lässt sich dies nur statisch über die Konfigurationsdatei ''xorg.conf'' von X erreichen.<br />
<br />
==Xrandr==<br />
''Xrandr'' ist ein textbasiertes Programm, das Zugriff auf alle Funktionen der ''Resize and Rotate Erweiterung'' bietet.<br />
<br />
{{Installation|repo=extra|paket=xorg-xrandr}}<br />
<br />
===Anwendung===<br />
Der Aufruf von<br />
xrandr<br />
gibt einen Überblick über alle angeschlossenen und nicht angeschlossenen Monitore. Dabei wird auch jeweils eine Liste von unterstützten Auflösungen ausgegeben.<br />
<br />
Ein zweiter Monitor kann mit<br />
xrandr --auto<br />
automatisch konfiguriert werden, dabei wird auf allen Monitoren das gleiche Bild angezeigt.<br />
<br />
Falls obiger Befehl nicht das gewünschte Ergebnis liefert, kann man alle Einstellungen auch von Hand vornehmen. Nachfolgende Tabelle zeigt die wichtigsten Optionen.<br />
<br />
{| {{prettytable}}<br />
|style="width:30%;background-color:#E5E5E5"|'''Modus''' <br />
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' <br />
|-<br />
|<nowiki>--output <Ausgang></nowiki><br />
|Alle nachfolgenden Optionen beziehen sich auf den an <Ausgang> angeschlossenen Bildschirm<br />
|-<br />
|<nowiki>--off</nowiki><br />
|Schaltet den Ausgang ab<br />
|-<br />
|<nowiki>--mode <Auflösung></nowiki><br />
|Dem Bildschirm wird die Auflösung <Auflösung> zugewiesen<br />
|-<br />
|<nowiki>--auto</nowiki><br />
|Die Auflösung des Bildschirms wird automatisch eingestellt<br />
|-<br />
|<nowiki>--below/--above <Ausgang></nowiki><br />
|Der Bildschirm wird unter/über dem an <Ausgang> angeschlossenen Monitor positioniert<br />
|-<br />
|<nowiki>--left-of/--right-off <Ausgang></nowiki><br />
|Der Bildschirm wird links/rechts von dem an <Ausgang> angeschlossenen Monitor positioniert<br />
|-<br />
|<nowiki>--same-as <Ausgang></nowiki><br />
|Auf dem Bildschirm wird das gleiche Bild angezeigt, wie bei dem Bildschirm an <Ausgang><br />
|-<br />
|}<br />
<br />
Sollte eine Auflösung nicht erkannt werden, besteht auch die Möglichkeit, diese manuell anzugeben. Dazu stehen weitere Optionen zur Verfügung.<br />
<br />
{| {{prettytable}}<br />
|style="width:30%;background-color:#E5E5E5"|'''Modus''' <br />
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' <br />
|-<br />
|<nowiki>--newmode <Bezeichnung> <ModeLine></nowiki><br />
|Unter <Bezeichnung> wird die durch <ModeLine> angegebene Auflösung abgelegt. <ModeLine> wird beispielsweise mit ''cvt'' erstellt<br />
|-<br />
|<nowiki>--addmode <Ausgang> <Bezeichnung></nowiki><br />
|Fügt dem an <Ausgang> angeschlossenen Monitor die unter <Bezeichnung> abgelegte Auflösung hinzu<br />
|-<br />
|}<br />
<br />
Ausführliche Informationen über alle Optionen liefert die [[Manpage]].<br />
<br />
'''Beispiel:'''<br />
xrandr --output HDMI1 --auto --output VGA1 --left-of LVDS1 --mode 1024x768<br />
In diesem Beispiel wird bei dem Monitor an dem Anschluss HDMI1 die bevorzugte Auflösung eingestellt und der Monitor an VGA1 wird mit einer Auflösung von 1024x768 links davon angeordnet.<br />
<br />
==Programme mit grafischer Oberfläche==<br />
Es existieren auch zahlreiche Programme mit grafischer Oberfläche. KDE, Gnome und LXDE stellen derartige Programme bereit. Es existieren aber auch von Desktopumgebungen unabhängige Implementierungen, wie ''arandr'' in [community].<br />
<br />
==Fehlerbehebung==<br />
===Virtual Screen===<br />
Sollte bei der Benutzung von ''Xrandr'' beispielsweise die Fehlermeldung<br />
xrandr: screen cannot be larger than 1920x1200 (desired size 3200x1200)<br />
auftreten, muss in der statischen Konfiguration von [[X]] unter ''/etc/X11/xorg.conf.d'' in der ''Section "Screen"'' in der ''Subsection "Display"'' die virtuelle maximale Auflösung beider Bildschirme zusammen angeben werden:<br />
Section "Screen"<br />
...<br />
SubSection "Display"<br />
Virtual 3200 1200<br />
EndSubSection<br />
EndSection<br />
<br />
===Videoausgabe mit XVideo===<br />
Wird die Ausgabe auf mehreren Monitoren gleichzeitig angezeigt, wird das über XVideo ausgegebene Video nur auf einem Monitor dargestellt. Welcher Monitor dies ist, lässt sich mittels [http://aur.archlinux.org/packages.php?ID=22671 xvattr] aus dem [[AUR]] bestimmen:<br />
xvattr -a XV_CRTC -v 0<br />
Dabei stellt die der Option -v übergebene Zahl die Nummer des Monitors dar.<br />
<br />
{{Hinweis|Soll das Video auf allen Bildschirmen angezeigt werden, muss eine andere Ausgabemethode gewählt werden, beispielsweise OpenGL oder X11.}}<br />
<br />
==Siehe auch==<br />
<br />
* [[X]]<br />
<br />
==Weblinks==<br />
<br />
* [http://www.x.org/wiki/Projects/XRandR Projektseite von Xrandr] {{Sprache|en}}<br />
<br />
[[Kategorie: Grafikkarten]]<br />
[[Kategorie: X11]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Benutzer:Boenki&diff=19865Benutzer:Boenki2017-07-04T20:36:28Z<p>Boenki: boenki bei wikipedia</p>
<hr />
<div>[https://aur.archlinux.org/packages/?SeB=m&K=boenki Meine Pakete im AUR]<br />
<br />
{{wikipedia|Benutzer:boenki|bei Wikipedia}}</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Eigene_Repositorys_erstellen&diff=19737Diskussion:Eigene Repositorys erstellen2017-06-27T14:18:45Z<p>Boenki: ein!</p>
<hr />
<div>Nach meiner Meinung müsste der Artikel umbenannt werden..<br />
<br />
Ein Repository (englisch für Lager, Depot oder auch Quelle; deutsch Plural Repositorys), auch – direkt aus dem Lateinischen entlehnt – Repositorium (Pl. Repositorien), <br />
<br />
https://de.wikipedia.org/wiki/Repository<br />
<br />
Henrikx 16:37, 26. Jun. 2017 (CEST)<br />
::Verschieb ihn doch einfach! ;) Das ist wie bei Linux. Nicht umbenennen sondern verschieben. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:35, 26. Jun. 2017 (CEST)<br />
<br />
Wie schreibt man es denn jetzt richtig?<br />
<br />
Eigene Repositorys, oder eigene Repositorien erstellen?<br />
<br />
Ist es möglich eine Liste, oder Thread anzulegen, wie, was, geschrieben wird.Sprich "Schreibweise".<br />
<br />
Archlinux, Arch Linux, Arch-Linux..<br />
<br />
Was ist z.B. mit flektierter Form..<br />
<br />
gedownloadet, ge-downloadet ,etc<br />
<br />
Henrikx<br />
<br />
<br />
Ich würde den Artikel einfach in "Eigenes Repository erstellen" umbenennen. In der Wikipedia gibt es zB {{wikipedia|Wikipedia:Namenskonventionen#Singularregel|diese Regel}}. Die zweite Überschrift hier im Artikel lautet dann nämlich auch genau so wie der von mir vorgeschlagene Name. Und schließlich will man ja nur wissen wie man '''ein''' eigenes Repository erstellt. Bei den folgenden (falls man sie benötigt) weiß man ja bereits wie es geht. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 16:11, 27. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Eigene_Repositorys_erstellen&diff=19736Diskussion:Eigene Repositorys erstellen2017-06-27T14:11:23Z<p>Boenki: Singularregel</p>
<hr />
<div>Nach meiner Meinung müsste der Artikel umbenannt werden..<br />
<br />
Ein Repository (englisch für Lager, Depot oder auch Quelle; deutsch Plural Repositorys), auch – direkt aus dem Lateinischen entlehnt – Repositorium (Pl. Repositorien), <br />
<br />
https://de.wikipedia.org/wiki/Repository<br />
<br />
Henrikx 16:37, 26. Jun. 2017 (CEST)<br />
::Verschieb ihn doch einfach! ;) Das ist wie bei Linux. Nicht umbenennen sondern verschieben. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:35, 26. Jun. 2017 (CEST)<br />
<br />
Wie schreibt man es denn jetzt richtig?<br />
<br />
Eigene Repositorys, oder eigene Repositorien erstellen?<br />
<br />
Ist es möglich eine Liste, oder Thread anzulegen, wie, was, geschrieben wird.Sprich "Schreibweise".<br />
<br />
Archlinux, Arch Linux, Arch-Linux..<br />
<br />
Was ist z.B. mit flektierter Form..<br />
<br />
gedownloadet, ge-downloadet ,etc<br />
<br />
Henrikx<br />
<br />
<br />
Ich würde den Artikel einfach in "Eigenes Repository erstellen" umbenennen. In der Wikipedia gibt es zB {{wikipedia|Wikipedia:Namenskonventionen#Singularregel|diese Regel}}. Die zweite Überschrift hier im Artikel lautet dann nämlich auch genau so wie der von mir vorgeschlagene Name. Und schließlich will man ja nur wissen wie man ein eigenes Repository erstellt. Bei den folgenden (falls man sie benötigt) weiß man ja bereits wie es geht. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 16:11, 27. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Eigene_Repositorys_erstellen&diff=19733Diskussion:Eigene Repositorys erstellen2017-06-26T21:35:52Z<p>Boenki: mv!</p>
<hr />
<div>Nach meiner Meinung müsste der Artikel umbenannt werden..<br />
<br />
Ein Repository (englisch für Lager, Depot oder auch Quelle; deutsch Plural Repositorys), auch – direkt aus dem Lateinischen entlehnt – Repositorium (Pl. Repositorien), <br />
<br />
https://de.wikipedia.org/wiki/Repository<br />
<br />
Henrikx 16:37, 26. Jun. 2017 (CEST)<br />
::Verschieb ihn doch einfach! ;) Das ist wie bei Linux. Nicht umbenennen sondern verschieben. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:35, 26. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Bash&diff=19719Bash2017-06-22T20:47:37Z<p>Boenki: </p>
<hr />
<div>{{SEITENTITEL:bash}}<br />
Um mit dem Betriebssystem zu interagieren, und teilweise auch, damit das Betriebssystem selbst arbeiten kann, bedarf es eines Interpreter-Programms, das die eingegebenen Befehle an das System weiterreicht. Unter Unix, und unix-verwandten Systemen wird dieser Kommandozeileninterpreter Shell genannt. Unter Arch ist diese Shell standardmäßig die Bash.<br />
<br />
== Über die bash ==<br />
Wenn man ein System installiert, installiert man auch gleich die bash mit, da sie ein wichtiger Teil des Systems ist. Um nach dem Einloggen zu sehen, welche Shell man gerade benutzt, kann man sich zum Beispiel folgenden Befehls bedienen:<br />
<br />
ps -o cmd= -p $$<br />
<br />
„ps“ listet Prozesse auf, „-o cmd=“ definiert, dass nur der Prozessname angezeigt werden soll, und „-p“ definiert, dass nur der Prozess angezeigt werden soll, dessen Prozess-ID man angibt. „$$“ gibt die ID des aktuellen Prozesses zurück. Da die Shell ebenfalls als Prozess gesehen wird, gibt „$$“ die Prozess-ID der Shell zurück, in der man sich gerade befindet.<br />
<br />
{{hc|ps -o cmd&#x003D; -p $$|bash}}<br />
<br />
Wenn man nun wissen will, welche bash-Version man verwendet, bedient man sich des Parameters „--version“<br />
<br />
{{hc|bash --version|GNU bash, version 3.2.48(1)-release (i686-pc-linux-gnu)<br />
Copyright (C) 2007 Free Software Foundation, Inc.}}<br />
<br />
Die Bash gilt generell als sehr komplex, und wird von einigen Anwendern auch als etwas unhandlich beschrieben, ist allerdings dennoch quasi die Standard-Shell unter Linux. Sie ist vollständig zur „Original-Shell“ (sh) kompatibel und unterstützt viele Befehle der Korn-Shell (ksh) und der Z-Shell (zsh).<br />
<br />
== Verwendung ==<br />
Wie bereits angesprochen ist die bash die Standard-Shell unter Arch. Von daher bedarf es keiner sonderlichen Maßnahmen, um die Bash zu verwenden, einfaches einloggen reicht. Unter grafischen Umgebungen erreicht man die bash über einen Terminal-Emulator wie [[xterm]], [[Konsole]], [[gnome-terminal]], [[Urxvt]] etc.<br />
<br />
Um die bash explizit zu starten, benutzt man einfach den Befehl „bash“, nachfolgende Befehlsfolge verdeutlicht dies.<br />
<br />
$ echo $$ # Die PID der aktuellen Shell ausgeben<br />
5450<br />
$ bash<br />
$ echo $$<br />
5711<br />
$ exit<br />
exit<br />
$ echo $$<br />
5450<br />
$<br />
<br />
Zuerst wird die Prozess-ID der aktuellen Shell angezeigt, dann wird die bash gestartet, und die Prozess-ID erneut angezeigt, dies ist nun eine andere als beim ersten Mal, da man sich ja nicht mehr in der ersten bash befindet. Die bash wird dann verlassen, und man befindet sich wieder in der bash, mit der man angefangen hat.<br />
<br />
Da die bash selbst ja ein Kommandointerpreter ist, bietet sie selbst keine eigenen Programmfunktionen, außer eben dem Interpretieren und Weiterreichen von Befehlen, und dem Zurückreichen des Ergebnisses. Allerdings lässt sich die bash durch viele Skripte, Parameter, und Konfigurationen – zum Beispiel in der [[bashrc]] – stark an die eigenen Bedürfnisse anpassen.<br />
<br />
=== Beispiele ===<br />
Nachfolgend drei praxisnahe Beispielverwendungen der verschiedenen bash-Aufrufe. In dem Wiki-Artikel zur .[[bashrc]] sind weitere Beispiele aufgeführt, die zeigen, wie man sich die bash anpassen kann.<br />
<br />
==== Shellscript ====<br />
Wenn man ein Shellscript schreibt, kann man am Anfang der Datei mit dem sogenannten „Shebang“ bestimmen, dass die bash verwendet werden soll.<br />
<br />
#!/bin/bash<br />
echo $$<br />
<br />
… dann der Aufruf …<br />
<br />
$ echo $$<br />
6577<br />
$ chmod +x script<br />
$ ./script<br />
6604<br />
$ echo $$<br />
6577<br />
$<br />
<br />
Für das Script wird eine eigene Bash gestartet, innerhalb dieser das Script dann abgearbeitet wird. Nach Beendigung des Scriptes wird diese bash wieder verlassen.<br />
<br />
==== Befehlsübergabe ====<br />
Anstatt mittels Shellscript kann man an die bash beim Aufruf auch Befehle übergeben, die dann im Kontext dieser bash abgearbeitet werden. Danach wird die bash wieder verlassen.<br />
<br />
$ echo $$<br />
6222<br />
$ bash -c 'echo $$'<br />
6240<br />
$ echo $$<br />
6222<br />
$ <br />
<br />
Im Kontext der aufgerufenen Bash wird der echo-Befehl ausgeführt. Wenn man die Angabe nach „-c“ in doppelte Anführungszeichen setzen würde, würde die bash diese vor dem Aufrufen schon bearbeiten, und „$$“ durch die aktuelle Prozess-ID ersetzen. Durch die einfachen Anführungszeichen wird der Befehl ungeparst übergeben.<br />
<br />
==== Andere Konfigurationsdateien ====<br />
Vermutlich hat man sich seine bash durch die Standard-Konfigurationsdateien angepasst. Wenn man nun etwas testen möchte, und sichergehen will, dass dies auch ohne die eigenen Anpassungen funktioniert, ruft man sich eine bash auf, wo dies deaktiviert ist.<br />
<br />
$ myip<br />
91.00.00.51<br />
$ bash --norc --noprofile<br />
$ myip<br />
bash: myip: command not found<br />
$ exit<br />
exit<br />
$ myip<br />
91.00.00.51<br />
$<br />
<br />
Mit diesem Aufruf werden sowohl die Datei „.[[bashrc]]“ als auch die Datei „.bash_profile“ ignoriert, welche bei mir nichts weiter macht, als die „.bashrc“ auszuführen.<br />
<br />
Man kann sich auch eine weitere „.bashrc“ anlegen, und der bash mittels Parameter mitteilen, diese, anstatt der Standard-Datei zu verwenden.<br />
<br />
$ bash -rcfile /pfad/zur/rc-datei<br />
== Nützliche Shortcuts ==<br />
{| {{prettytable}}<br />
|-<br />
! {{taste|ESC}} + Taste || Funktion<br />
|-<br />
| {{taste|ESC}} {{taste|d}} || löschen von der Cursorposition aus bis zum Ende des Wortes<br />
|-<br />
| {{taste|ESC}} {{taste|f}} || Cursor ein Wort vor<br />
|-<br />
| {{taste|ESC}} {{taste|b}} || Cursor ein Wort zurück<br />
|-<br />
| {{taste|ESC}} {{taste|t}} || Zwei nebeneinander stehende Wörter gegeneinander austauschen. (Bar Foo wird zu Foo Bar)<br />
|-<br />
! {{taste|TAB}} + {{taste|TAB}} || Funktion<br />
|-<br />
| {{taste|TAB}} {{taste|TAB}} || listet alle verfügbaren Befehle auf<br />
|-<br />
| / {{taste|TAB}} {{taste|TAB}} || listet alle verfügbaren Verzeichnisse auf (z.B.: /etc/ {{taste|TAB}}{{taste|TAB}}würde alle in /etc/ verfügbaren Verzeichnisse auflisten)<br />
|-<br />
| ~ {{taste|TAB}} {{taste|TAB}} || zeigt alle System Nutzer an <br />
|-<br />
| $ {{taste|TAB}} {{taste|TAB}} || Liste aller Systemvariablen<br />
|-<br />
| @ {{taste|TAB}} {{taste|TAB}} || zeigt Hosts an<br />
|-<br />
| = {{taste|TAB}} {{taste|TAB}} || hat den selben Effekt wie <code>ls</code><br />
|-<br />
! {{taste|ALT}} + Taste || Funktion<br />
|-<br />
| {{taste|ALT}} {{taste|<}} || zeigt die erste Zeile in der bash history an<br />
|-<br />
| {{taste|ALT}} {{taste|>}} || zeigt die letzte Zeile in der bash history an<br />
|-<br />
| {{taste|ALT}} {{taste|.}} || fügt das letzte Argument an das Kommando an <br />
|-<br />
| {{taste|ALT}} {{taste|b}} || bewegt den Cursor ein Wort rückwärts<br />
|-<br />
| {{taste|ALT}} {{taste|f}} || bewegt den Cursor ein Wort vorwärts<br />
|-<br />
| {{taste|ALT}} {{taste|t}} || Tauscht zwei nebeneinanderstehende Wörter gegeneinander (Bar Foo wird Foo Bar)<br />
|-<br />
| {{taste|ALT}} {{taste|u}} || wandelt ein Wort von Kleinbuchstaben in Großbuchstaben um ($display wird zu $DISPLAY)<br />
|-<br />
| {{taste|ALT}} {{taste|l}} || wandelt ein Wort von Großbuchstaben in Kleinbuchstaben um (ECHO wird zu echo)<br />
|-<br />
| {{taste|ALT}} {{taste|c}} || wandelt den Anfangsbuchstaben von Kleinbuchstaben in Großbuchstaben um (verzeichnisname wird zu Verzeichnisname)<br />
|-<br />
| {{taste|ALT}} {{taste|backspace}} || löscht ein komplettes Wort rückwärts<br />
|-<br />
! {{taste|STRG}} + Taste || Funktion<br />
|-<br />
| {{taste|STRG}} {{taste|a}} || bewegt den Cursor zum Zeilenanfang<br />
|-<br />
| {{taste|STRG}} {{taste|e}} || bewegt den Cursor zum Zeilenende<br />
|-<br />
| {{taste|STRG}} {{taste|k}} || löscht alles von der Cursorposition bis Zeilenende<br />
|-<br />
| {{taste|STRG}} {{taste|u}} || löscht alles von der Cursorposition bis Zeilenanfang<br />
|-<br />
| {{taste|STRG}} {{taste|w}} || löscht vorangegangenes Wort (foo bar wird foo )<br />
|-<br />
| {{taste|STRG}} {{taste|t}} || vertauscht zwei Buchstaben gegeneinander (foobra wird foobar)<br />
|-<br />
| {{taste|STRG}} {{taste|y}} || stellt zuletzt gelöschtes wieder her, bzW. fügt es ein<br />
|-<br />
| {{taste|STRG}} {{taste|d}} || löscht ein Zeichen unter dem Cursor<br />
|-<br />
| {{taste|STRG}} {{taste|h}} || löscht ein Zeichen vor dem Cursor<br />
|-<br />
| {{taste|STRG}} {{taste|f}} || bewegt den Cursor vorwärts <br />
|-<br />
| {{taste|STRG}} {{taste|b}} || bewegt den Cursor rückwärts<br />
|-<br />
| {{taste|STRG}} {{taste|r}} || findet eine Buchstabensequenz in der History<br />
|-<br />
| {{taste|STRG}} {{taste|s}} || sperrt die Eingabe<br />
|-<br />
| {{taste|STRG}} {{taste|q}} || entsperrt die Eingabe wieder<br />
|-<br />
| {{taste|STRG}} {{taste|l}} || hat den selben Effekt wie {{ic|clear}}<br />
|-<br />
! Diverses || Funktion<br />
|-<br />
| foobar {{taste|1=!}}{{taste|!}} || stellt dem zuvor abgesetzten Kommando ''foobar'' voran. ({{ic|[[pacman]] -Syu}} wird {{ic|''sudo'' [[pacman]] -Syu}})<br />
|-<br />
| {{taste|^}}foo{{taste|^}}bar || ersetzt das erste auftauchende ''foo'' im zuvor abgesetzten Kommando durch ''bar''. ({{ic|ls /home/''foo''/foo/}} wird {{ic|ls /home/''bar''/foo/}}).<br />
|}<br />
<br />
== Siehe auch ==<br />
* [[bashrc|Wiki-Artikel zur .bashrc]]<br />
* [[Bash-Completion|Automatische Vervollständigung]]<br />
* [[Bash-Prompt anpassen|Ausführliche Anleitung zum Verändern des Prompts]]<br />
* [[Umleitungen|Wiki-Artikel zur Ein- und Ausgabeumleitung]]<br />
* [[Shell-Spickzettel|Wiki-Artikel zur Shell Kurzreferenz]]<br />
<br />
== Weblinks ==<br />
* [http://bin-bash.de Einsteiger-Seite zur bash] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/Unix-Shell Wikipedia-Artikel zu Unix-Shells] {{sprache|de}}<br />
* [http://tldp.org/LDP/abs/html/ der „Advanced Bash-Scripting Guide“] {{sprache|en}}<br />
<br />
[[Kategorie:Konsole]]<br />
[[Kategorie:Grundlagen]]<br />
[[en:Bash]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Bluetooth&diff=19718Bluetooth2017-06-22T20:45:27Z<p>Boenki: einmal verlinken reicht</p>
<hr />
<div>Dieser Artikel lehnt sich an den Artikel [[:en:Bluetooth|Bluetooth]] aus der englischen Archlinux-Wiki an, behandelt in erster Linie jedoch den Dateitransfer zwischen Mobiltelefonen und Computern mittels {{wikipedia|OBEX}}.<br />
<br />
==Geräte koppeln==<br />
Damit eine Verbindung nicht von jedem einfach so aufgebaut werden kann, müssen Bluetooth-Geräte oft mit einem Passkey gekoppelt werden. Der Vorgang läuft in etwa so ab:<br />
* Der Client will eine Verbindung zum Server aufbauen (zum Beispiel Computer->Mobiltelefon)<br />
* Der Client und der Server bitten um die Eingabe des Passkeys<br />
* Diese werden verglichen - wenn sie gleich sind, so wird das Gerät gekoppelt, ansonsten wird die Verbindung abgebrochen<br />
<br />
Das bluez-utils Paket stellt uns wieder ein praktisches Tool namens passkey-agent für die Übermittlung des Passkeys zur Verfügung.<br />
<br />
''<u>Nutzeranmerkung:</u> Anscheinend ist passkey-agent derzeit nicht in bluez enthalten, es klappt auch mit bluez-simple-agent, siehe englische Anleitung.''<br />
<br />
$ passkey-agent<br />
Bluetooth passkey agent ver 3.32<br />
Usage:<br />
passkey-agent [--default] [--path agent-path] <passkey> [address]<br />
<br />
Um einen default Key für alle Geräte zu verwenden benutzt man einfach folgenden Befehl:<br />
<br />
$ passkey-agent --default xxx &<br />
<br />
Wenn man nur mit einem speziellen Gerät koppeln will kann man auch die jeweilige MAC-Adresse verwenden<br />
<br />
$ passkey-agent --default xxx MAC &<br />
<br />
Wenn man ein Mobiltelefon benutzt, so kann man auf zwei Arten koppeln:<br />
* Entweder man sucht den Computer direkt mit dem Mobiltelefon und koppelt manuell<br />
* oder man versucht vom Computer aus eine Verbindung zum Mobiltelefon aufzubauen.<br />
<br />
Für die erste Möglichkeit muss die Option ''ISCAN'' (Inquiry scan) für das Bluetooth-Device aktiviert sein. Überprüfen könnt ihr das mit folgendem Befehl:<br />
<br />
$ hciconfig <dev> | grep ISCAN<br />
UP RUNNING PSCAN ISCAN<br />
<br />
<dev> ersetzt ihr mit dem jeweiligen Bluetooth-Gerät (z.B.: hci0). Sollte ISCAN nicht aktiviert sein, so aktiviert man es manuell mittels hciconfig:<br />
<br />
$ hciconfig <dev> piscan<br />
<br />
Dieser Befehl aktiviert PSCAN (Page scan) und ISCAN - das Gerät bleibt aber nur eine bestimmte Zeit sichtbar. (Beide Optionen findet man auch in der /etc/bluetooth/hcid.conf, leider scheint keine der Defaulteinstellungen darin eine unmittelbare Wirkung zu zeigen)<br />
Nun kann der Computer von anderen Bluetooth-Geräten gefunden werden und man kann versuchen manuell zu koppeln. Der passkey-agent gibt bei der Anfrage dann folgende Meldung aus:<br />
<br />
Passkey request for device xx:xx:xx:xx:xx:xx<br />
<br />
Wenn der Key richtig eingegeben wurde, so ist das Gerät nun gekoppelt (evtl. muss die Kopplung auf einem Mobiltelefon noch gespeichert werden).<br />
<br />
Für die zweite Möglichkeit, der Kopplung durch Verbindungsanfrage, benutzt man einfach beispielsweise ein Tool wie [http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp obexftp], um sich mit dem Server (Mobiltelefon) mittels OBEX zu verbinden. Wenn beim Mobiltelefon Bluetooth aktiviert ist, sollte das Gerät selbst nach der Kopplung fragen. Nach der Eingabe des Keys wird die Verbindung hergestellt und das Gerät ist gekoppelt. <br />
<br />
Ist das Gerät einmal gekoppelt worden, so muss man den passkey-agent nicht mehr extra starten. Dessen Aufgabe übernimmt von nun an der dbus-Daemon.<br />
<br />
[[en:Bluetooth]]<br />
<br />
[[Kategorie:Konfiguration]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Sudo&diff=19684Diskussion:Sudo2017-06-16T17:24:17Z<p>Boenki: sudo ist dabei</p>
<hr />
<div>== Wie denn nun? ==<br />
<br />
Imho sollten sowohl (ALL) ALL, als auch ALL NOPASSWD vermieden werden. --[[Benutzer:Dirk Sohler|Dirk Sohler]] 13:47, 3. Jun. 2009 (CEST)<br />
<br />
Nicht ganz, es sollte auf gar keinen Fall dort ALL = (ALL) ALL verwendet werden, da ansonsten JEDER User über Sodu Rechte verfügt. Wenn man allerdings dort USER =(ALL) ALL einträgt, ist das nur auf den einen Benutzer begrenzt. --[[Benutzer:Anwar|Anwar]] 14:57, 30. Apr. 2011 (CEST)<br />
<br />
== Teil der Standardinstallation? ==<br />
<br />
Stimmt die Aussage, dass sudo Teil der Standardinstallation ist? Meine letzte Installation ist schon so lange her, aber ich meine, dass ich sudo installieren musste.. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:37, 14. Jun. 2017 (CEST)<br />
<br />
Eine gute Frage. Bei mir ist es auch schon so lange her und das Selbstverständliche vergisst man bekanntlich am schnellsten.<br />
Denke sudo muss installiert werden, so wie es hier angegeben ist.<br />
[[Anleitung_f%C3%BCr_Einsteiger#Einen_Benutzer_hinzuf.C3.BCgen_und_Gruppen_w.C3.A4hlen]].<br />
Das ist auch insofern logisch, als dass sudo nicht funktionieren kann wenn noch kein Benutzer konfiguriert ist.<br />
Ergo: Sudo muss als root erst installiert und die Benutzer/Gruppen Rechte müssen auch noch konfiguriert werden. (gpasswd -a <user> wheel).<br />
Denke der Begriff Standardinstallation ist einfach missverständlich und sollte gemieden werden.<br />
--[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]]) 16:17, 15. Jun. 2017 (CEST)<br />
:Die Frage ist, ob sudo auf dem aktuellen ISO enthalten ist. Das wäre meine Definition von Standardinstallation. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 22:04, 15. Jun. 2017 (CEST)<br />
::Ja, ist auf dem ISO. sudo ist Teil der Gruppe base-devel. Standardinstallation (vom ISO aus) wäre zumindest "base", "base-devel" und "wpa-supplicant". --[[Benutzer:Matthias|Matthias]] ([[Benutzer Diskussion:Matthias|Diskussion]]) 18:51, 16. Jun. 2017 (CEST)<br />
:::Aber es wird doch nicht das gesamte base-devel installiert!?! Nicht, dass ich wüsste. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 19:20, 16. Jun. 2017 (CEST)<br />
: OK, hier steht IMHO drin was installiert wird: https://git.archlinux.org/archiso.git/tree/configs/releng/packages.both. sudo ist dabei. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 19:24, 16. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Sudo&diff=19683Diskussion:Sudo2017-06-16T17:20:46Z<p>Boenki: </p>
<hr />
<div>== Wie denn nun? ==<br />
<br />
Imho sollten sowohl (ALL) ALL, als auch ALL NOPASSWD vermieden werden. --[[Benutzer:Dirk Sohler|Dirk Sohler]] 13:47, 3. Jun. 2009 (CEST)<br />
<br />
Nicht ganz, es sollte auf gar keinen Fall dort ALL = (ALL) ALL verwendet werden, da ansonsten JEDER User über Sodu Rechte verfügt. Wenn man allerdings dort USER =(ALL) ALL einträgt, ist das nur auf den einen Benutzer begrenzt. --[[Benutzer:Anwar|Anwar]] 14:57, 30. Apr. 2011 (CEST)<br />
<br />
== Teil der Standardinstallation? ==<br />
<br />
Stimmt die Aussage, dass sudo Teil der Standardinstallation ist? Meine letzte Installation ist schon so lange her, aber ich meine, dass ich sudo installieren musste.. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:37, 14. Jun. 2017 (CEST)<br />
<br />
Eine gute Frage. Bei mir ist es auch schon so lange her und das Selbstverständliche vergisst man bekanntlich am schnellsten.<br />
Denke sudo muss installiert werden, so wie es hier angegeben ist.<br />
[[Anleitung_f%C3%BCr_Einsteiger#Einen_Benutzer_hinzuf.C3.BCgen_und_Gruppen_w.C3.A4hlen]].<br />
Das ist auch insofern logisch, als dass sudo nicht funktionieren kann wenn noch kein Benutzer konfiguriert ist.<br />
Ergo: Sudo muss als root erst installiert und die Benutzer/Gruppen Rechte müssen auch noch konfiguriert werden. (gpasswd -a <user> wheel).<br />
Denke der Begriff Standardinstallation ist einfach missverständlich und sollte gemieden werden.<br />
--[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]]) 16:17, 15. Jun. 2017 (CEST)<br />
:Die Frage ist, ob sudo auf dem aktuellen ISO enthalten ist. Das wäre meine Definition von Standardinstallation. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 22:04, 15. Jun. 2017 (CEST)<br />
::Ja, ist auf dem ISO. sudo ist Teil der Gruppe base-devel. Standardinstallation (vom ISO aus) wäre zumindest "base", "base-devel" und "wpa-supplicant". --[[Benutzer:Matthias|Matthias]] ([[Benutzer Diskussion:Matthias|Diskussion]]) 18:51, 16. Jun. 2017 (CEST)<br />
:::Aber es wird doch nicht das gesamte base-devel installiert!?! Nicht, dass ich wüsste. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 19:20, 16. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Sudoedit&diff=19681Sudoedit2017-06-15T20:27:30Z<p>Boenki: </p>
<hr />
<div>{{SEITENTITEL:sudoedit}}{{righttoc}}<br />
[[Kategorie: Systemverwaltung]]<br />
[[Kategorie: Befehle]]<br />
Der Befehl sudoedit erlaubt ein sicheres Editieren von Dateien unter Rootrechten.<br />
<br />
== Installation ==<br />
Sudoedit ist Bestandteil von [[sudo]].<br />
Solle das Paket sudo trotzdem einmal fehlen, kann man mit {{ic|login root}} zum Benutzer Root werden und danach das Paket mit {{ic|pacman -S sudo}} installieren.<br />
<br />
== Hintergrund ==<br />
Niemand würde mit einen Browser unter Rootrechten ins Internet gehen wollen. Schließlich könnte so ein Angreifer gleich mit Administratorenrechten das System manipulieren.<br />
Ist ein System aber bereits kompromittiert, könnte aber auch schon das Starten eines Editors mit Rootrechten z.B.: {{ic|sudo nano}} von einem Angreifer dazu genutzt werden, das System unter seine Regie zu bekommen.<br />
Diese Gefahr steigt bei einem {{ic|kdesu kate}} noch an, da hier zusätzlich zum Code des Editors auch noch das kompletten GUI mit administrativen Rechten ausgeführt wird. Angesichts der Vielzahl staatlicher Hacker, kann man vermuten, dass dieses eher akademisch anmutende Risiko durchaus auch einmal real werden kann.<br />
<br />
== Verwendung ==<br />
sudoedit <Editor> <Datei><br />
oder auch<br />
sudo -e <Editor> <Datei><br />
Durch die Verwendung von sudeoedit wird der gewünschte Editor mit einfachen Benutzer Rechten geöffnet.<br />
Von der zu öffnenden Datei wir eine Kopie unter /var/tmp angelegt.<br />
Die beim Aufruf von sudoedit vergebenen Rootrechte werden lediglich dazu genutzt, die bearbeitete Dateikopie wieder an seinen Ursprungsort zu speichern.<br />
<br />
== Konfiguration ==<br />
In der Datei {{ic|~/.bashrc}} kann der gewünschte Editor in der Zeile ''export EDITOR=/usr/bin/editor'' vorbelegt werden. Danach genügt der folgende Befehlsaufruf.<br />
sudoedit <Datei><br />
<br />
== Nachteile ==<br />
Es lässt sich mit sudoedit immer nur ''eine'' Datei bearbeiten. Auch muss der betreffende Editor, falls schon unter Benutzung, zuerst geschlossen werden, bevor man mit sudoedit zur Tat schreiten kann. Da dies den Workflow stark beeinträchtigt, ist die Schaffung von Alternativen in der Diskussion.<br />
<br />
== Siehe auch ==<br />
[[sudo]]<br />
<br />
== Weblinks ==<br />
[https://linuxundich.de/gnu-linux/dateienordner-in-nautilus-aka-files-mit-root-rechten-bearbeiten/comment-page-1/#comment-68108 Linux und ich] Dateien mit Rootrechten bearbeiten {{sprache|de}}<br />
<br />
[https://blog.martin-graesslin.com/blog/2017/02/editing-files-as-root/ Martin's Blog] Editing files as root {{sprache|en}}</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Sudo&diff=19680Diskussion:Sudo2017-06-15T20:04:13Z<p>Boenki: Standardinstallation = aktuelles ISO</p>
<hr />
<div>== Wie denn nun? ==<br />
<br />
Imho sollten sowohl (ALL) ALL, als auch ALL NOPASSWD vermieden werden. --[[Benutzer:Dirk Sohler|Dirk Sohler]] 13:47, 3. Jun. 2009 (CEST)<br />
<br />
Nicht ganz, es sollte auf gar keinen Fall dort ALL = (ALL) ALL verwendet werden, da ansonsten JEDER User über Sodu Rechte verfügt. Wenn man allerdings dort USER =(ALL) ALL einträgt, ist das nur auf den einen Benutzer begrenzt. --[[Benutzer:Anwar|Anwar]] 14:57, 30. Apr. 2011 (CEST)<br />
<br />
== Teil der Standardinstallation? ==<br />
<br />
Stimmt die Aussage, dass sudo Teil der Standardinstallation ist? Meine letzte Installation ist schon so lange her, aber ich meine, dass ich sudo installieren musste.. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:37, 14. Jun. 2017 (CEST)<br />
<br />
Eine gute Frage. Bei mir ist es auch schon so lange her und das Selbstverständliche vergisst man bekanntlich am schnellsten.<br />
Denke sudo muss installiert werden, so wie es hier angegeben ist.<br />
[[Anleitung_f%C3%BCr_Einsteiger#Einen_Benutzer_hinzuf.C3.BCgen_und_Gruppen_w.C3.A4hlen]].<br />
Das ist auch insofern logisch, als dass sudo nicht funktionieren kann wenn noch kein Benutzer konfiguriert ist.<br />
Ergo: Sudo muss als root erst installiert und die Benutzer/Gruppen Rechte müssen auch noch konfiguriert werden. (gpasswd -a <user> wheel).<br />
Denke der Begriff Standardinstallation ist einfach missverständlich und sollte gemieden werden.<br />
--[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]]) 16:17, 15. Jun. 2017 (CEST)<br />
:Die Frage ist, ob sudo auf dem aktuellen ISO enthalten ist. Das wäre meine Definition von Standardinstallation. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 22:04, 15. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Sudo&diff=19676Diskussion:Sudo2017-06-14T21:37:22Z<p>Boenki: Neuer Abschnitt /* Teil der Standardinstallation? */</p>
<hr />
<div>== Wie denn nun? ==<br />
<br />
Imho sollten sowohl (ALL) ALL, als auch ALL NOPASSWD vermieden werden. --[[Benutzer:Dirk Sohler|Dirk Sohler]] 13:47, 3. Jun. 2009 (CEST)<br />
<br />
Nicht ganz, es sollte auf gar keinen Fall dort ALL = (ALL) ALL verwendet werden, da ansonsten JEDER User über Sodu Rechte verfügt. Wenn man allerdings dort USER =(ALL) ALL einträgt, ist das nur auf den einen Benutzer begrenzt. --[[Benutzer:Anwar|Anwar]] 14:57, 30. Apr. 2011 (CEST)<br />
<br />
== Teil der Standardinstallation? ==<br />
<br />
Stimmt die Aussage, dass sudo Teil der Standardinstallation ist? Meine letzte Installation ist schon so lange her, aber ich meine, dass ich sudo installieren musste.. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 23:37, 14. Jun. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Installations-Kurzanleitung&diff=19646Installations-Kurzanleitung2017-06-10T17:05:49Z<p>Boenki: /* Keyboard layout */</p>
<hr />
<div>{{unvollständig}}<br />
<br />
Diese Seite ist lediglich ein rudimentärer Spickzettel für erfahrene <br />
Nutzer. Falls Du neu bei Arch bist oder dich nicht ohnehin schon gut auf <br />
der Kommandozeile auskennst, verwende bitte die weitaus <br />
ausführlichere [[Anleitung für Einsteiger]].<br />
<br />
== Download ==<br />
Beziehe das neueste Arch Linux ISO von der [[Download]]-Seite.<br />
* Es wird nur einziges Image bereitgestellt, von dem aus man x86_64 Live-System booten kann. Medien, die nur das Repository [core] enthalten, stehen nicht mehr zur Verfügung.<br />
* Installations-Images sind signiert, und es wird dringend empfohlen, die Signatur vor der Verwendung zu überprüfen. Dazu lädt lädt man die ''.sig'' Datei von der Download-Seite (oder einem der dort aufgeführten Spiegel-Server) in das gleiche Verzeichnis wie die ''.iso'' Datei herunter und verwendet dann den Befehl {{ic|pacman-key -v ''iso-file''.sig}}.<br />
* Das Image kann auf CD gebrannt, als ISO-Datei eingehängt, oder direkt auf einen USB-Stick geschrieben werden. Es dient nur zur Installations-Zwecken; ein bereits existierendes Arch System wird mit {{ic|pacman -Syu}} aktuell gehalten.<br />
<br />
== Installation ==<br />
Falls zusätzliche Programme geladen werden sollen, empfiehlt es sich, nach dem einstellen der Tastatur eine Internetverbindung einzurichten ([https://wiki.archlinux.de/title/Installations-Kurzanleitung#Internet-Verbindung Internetverbindung]). Danach mit {{ic|pacman -Syu}} die Paketlisten aktualisieren und die Software des Live-Arch updaten. Mit {{ic|pacman -S tmux}} wird nun zum Beispiel der Terminal-Multiplexer tmux installiert. Vielleicht ist auch vim empfehlenswert zu installieren?<br />
Im Live-Arch stehen {{ic|nano}} und {{ic|vi}} als Editoren schon zur Verfügung.<br />
=== Keyboard layout ===<br />
Siehe [[Arch Linux auf Deutsch stellen]]<br />
{{ic|loadkeys de-latin1}}<br />
<br />
=== Festplatten-Formatierung ===<br />
Zur Partitionierung sind cfdisk, fdisk, gdisk, ... zur Wahl. cfdisk ist selbsterklärend.<br />
Falls eine neue Partitionstabelle erstellt werden soll geschieht das mit nachfolgenden Befehlen. Vorsicht alle Daten sind danach verloren!<br />
dd count=1 BS=512 if=/dev/zero of=/dev/sda [hier gewünschtes Laufwerk einsetzten Laufwerk einsetzten!]<br />
cfdisk<br />
Auf jede erstellte Partition muss mkfs ausgeführt werden:<br />
* ext4 - mkfs.ext4 /dev/sda1 [oder mkfs.ext4 -L NAME /dev/sda1<br />
* swap - mkswap /dev/sda3<br />
<br />
=== Einhängen der Partitionen ===<br />
Mit {{ic|mount}}. siehe auch [[Mounten]]<br />
mount /dev/sda1 /mnt/<br />
mount /dev/sd* /mnt/home/ [alles was später dazu soll]<br />
swapon /dev/sda3<br />
<br />
=== Internet-Verbindung ===<br />
Bei Kabelnetzwerk mit Einbindung in ein Netzwerk mit DHCP wird automatisch eine Verbindung aufgebaut. Um das zu Testen kann man ein ping auf eine Internetseite absetzen:<br />
ping -c3 8.8.8.8<br />
Falls der ping keine positive Ausgabe ergibt kann mit {{ic|dhcpcd}} eine IP Adresse bezogen werden. Es kann aber auch sein dass das Netzwerk keine Internetanbindung hat. Dumm gelaufen :-(<br />
Falls kein DHCP vorhanden kann man dem Computer eine statische IP selbst zuteilen. Dies ist mit {{ic|ifconfig}} möglich. Siehe {{ic|man ifconfig}}.<br />
<br />
==== WLAN-Verbindung ====<br />
Für eine detaillierte Beschreibung, siehe <br />
[[(W)LAN und Arch Linux]] oder [[Netctl]].<br />
schneller Weg für Leute mit wenig Know-How: {{ic|wifi-menu}}<br />
<br />
=== Installation des Grundsystems ===<br />
<br />
# pacstrap /mnt base base-devel [weiter Pakete]<br />
*Editor vim oder anderer? (nano und vi schon enthalten)<br />
*Vorsicht WLAN-Nutzer: Die Pakete {{ic|wpa_supplicant}} und {{ic|wireless_tools}} sind nicht in {{ic|base}} enthalten und müssen hier also explizit mitinstalliert werden, obwohl sie im Installationssystem vorhanden sind.<br />
# genfstab -L /mnt/ > /mnt/etc/fstab [die Umleitung weg lassen um die Einhängepunkte zu überprüfen]<br />
=== Konfiguration des Systems ===<br />
#echo HOSTNAME > /mnt/etc/hostname<br />
#arch-chroot /mnt/<br />
In der chroot-Umgebung sind die Konfigurationsdateien zu bearbeiten:<br />
*Spracheinstellungen in /etc/locale.conf ergänzen | mit nano/vi nachfolgenden Text einfügen:<br />
LANG=de_DE.UTF-8<br />
LC_COLLATE=C<br />
LANGUAGE=de_DE<br />
*Symbolischen Link /etc/localtime auf gewünschte Zone setzen:<br />
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime<br />
*Tastaturbelegung und Schriftart in der Datei /etc/vconsole.conf<br />
KEYMAP=de-latin1<br />
FONT=lat9w-16<br />
*Gewünschte Sprachen in /etc/locale.gen auskommentieren, anschließend mit: {{ic|locale-gen}} erzeugen.<br />
*Kernel erzeugen mit {{ic|mkinitcpio -p linux}}<br />
*root-Passwort anlegen/ändern: {{ic|passwd}}<br />
=== Installation und Konfiguration eines Boot-Loaders ===<br />
siehe [[Grub]]<br />
pacman -S grub<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
grub-install /dev/sda<br />
=== Aushängen und Neu-Starten ===<br />
{{ic|umount}} und {{ic|reboot}}<br />
<br />
== Arch-Linux zum Desktop System aufarbeiten ==<br />
=== Benutzer anlegen ===<br />
useradd -m -g users -s /bin/bash NAME<br />
passwd NAME<br />
=== Notwendige Dienste ===<br />
{{ic|acpid ntp dbus avahi cups cronie}} mit pacman installieren und mit {{ic|systemctl enable}} für den Systemstart aktivieren.<br />
<br />
=== X-Server und Umgebung installieren ===<br />
X installieren:<br />
pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils<br />
Grafiktreiber installieren. Mit nachfolgendem Befehl werden alle Treiber installiert.<br />
pacman -S xorg-drivers<br />
Statt dessen kann die Karte ermittelt werden und dann der richtige Treiber installiert werden.<br />
lspci | grep VGA<br />
pacman -S xf86-video-* [zu benutzender Treiber hier wählen]<br />
<br />
Touchpad-Treiber für X installieren:<br />
pacman -S xf86-input-synaptics<br />
Tastaturlayout ändern, Bsp:<br />
localectl set-x11-keymap de pc105 de<br />
<br />
== Nach der Installation ==<br />
<br />
[[Kategorie:Installation]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Installations-Kurzanleitung&diff=19645Installations-Kurzanleitung2017-06-10T17:04:40Z<p>Boenki: /* Download */</p>
<hr />
<div>{{unvollständig}}<br />
<br />
Diese Seite ist lediglich ein rudimentärer Spickzettel für erfahrene <br />
Nutzer. Falls Du neu bei Arch bist oder dich nicht ohnehin schon gut auf <br />
der Kommandozeile auskennst, verwende bitte die weitaus <br />
ausführlichere [[Anleitung für Einsteiger]].<br />
<br />
== Download ==<br />
Beziehe das neueste Arch Linux ISO von der [[Download]]-Seite.<br />
* Es wird nur einziges Image bereitgestellt, von dem aus man x86_64 Live-System booten kann. Medien, die nur das Repository [core] enthalten, stehen nicht mehr zur Verfügung.<br />
* Installations-Images sind signiert, und es wird dringend empfohlen, die Signatur vor der Verwendung zu überprüfen. Dazu lädt lädt man die ''.sig'' Datei von der Download-Seite (oder einem der dort aufgeführten Spiegel-Server) in das gleiche Verzeichnis wie die ''.iso'' Datei herunter und verwendet dann den Befehl {{ic|pacman-key -v ''iso-file''.sig}}.<br />
* Das Image kann auf CD gebrannt, als ISO-Datei eingehängt, oder direkt auf einen USB-Stick geschrieben werden. Es dient nur zur Installations-Zwecken; ein bereits existierendes Arch System wird mit {{ic|pacman -Syu}} aktuell gehalten.<br />
<br />
== Installation ==<br />
Falls zusätzliche Programme geladen werden sollen, empfiehlt es sich, nach dem einstellen der Tastatur eine Internetverbindung einzurichten ([https://wiki.archlinux.de/title/Installations-Kurzanleitung#Internet-Verbindung Internetverbindung]). Danach mit {{ic|pacman -Syu}} die Paketlisten aktualisieren und die Software des Live-Arch updaten. Mit {{ic|pacman -S tmux}} wird nun zum Beispiel der Terminal-Multiplexer tmux installiert. Vielleicht ist auch vim empfehlenswert zu installieren?<br />
Im Live-Arch stehen {{ic|nano}} und {{ic|vi}} als Editoren schon zur Verfügung.<br />
=== Keyboard layout ===<br />
Siehe [[https://wiki.archlinux.de/title/Arch_Linux_auf_Deutsch_stellen Arch auf Deutsch stellen]]<br />
{{ic|loadkeys de-latin1}}<br />
<br />
=== Festplatten-Formatierung ===<br />
Zur Partitionierung sind cfdisk, fdisk, gdisk, ... zur Wahl. cfdisk ist selbsterklärend.<br />
Falls eine neue Partitionstabelle erstellt werden soll geschieht das mit nachfolgenden Befehlen. Vorsicht alle Daten sind danach verloren!<br />
dd count=1 BS=512 if=/dev/zero of=/dev/sda [hier gewünschtes Laufwerk einsetzten Laufwerk einsetzten!]<br />
cfdisk<br />
Auf jede erstellte Partition muss mkfs ausgeführt werden:<br />
* ext4 - mkfs.ext4 /dev/sda1 [oder mkfs.ext4 -L NAME /dev/sda1<br />
* swap - mkswap /dev/sda3<br />
<br />
=== Einhängen der Partitionen ===<br />
Mit {{ic|mount}}. siehe auch [[Mounten]]<br />
mount /dev/sda1 /mnt/<br />
mount /dev/sd* /mnt/home/ [alles was später dazu soll]<br />
swapon /dev/sda3<br />
<br />
=== Internet-Verbindung ===<br />
Bei Kabelnetzwerk mit Einbindung in ein Netzwerk mit DHCP wird automatisch eine Verbindung aufgebaut. Um das zu Testen kann man ein ping auf eine Internetseite absetzen:<br />
ping -c3 8.8.8.8<br />
Falls der ping keine positive Ausgabe ergibt kann mit {{ic|dhcpcd}} eine IP Adresse bezogen werden. Es kann aber auch sein dass das Netzwerk keine Internetanbindung hat. Dumm gelaufen :-(<br />
Falls kein DHCP vorhanden kann man dem Computer eine statische IP selbst zuteilen. Dies ist mit {{ic|ifconfig}} möglich. Siehe {{ic|man ifconfig}}.<br />
<br />
==== WLAN-Verbindung ====<br />
Für eine detaillierte Beschreibung, siehe <br />
[[(W)LAN und Arch Linux]] oder [[Netctl]].<br />
schneller Weg für Leute mit wenig Know-How: {{ic|wifi-menu}}<br />
<br />
=== Installation des Grundsystems ===<br />
<br />
# pacstrap /mnt base base-devel [weiter Pakete]<br />
*Editor vim oder anderer? (nano und vi schon enthalten)<br />
*Vorsicht WLAN-Nutzer: Die Pakete {{ic|wpa_supplicant}} und {{ic|wireless_tools}} sind nicht in {{ic|base}} enthalten und müssen hier also explizit mitinstalliert werden, obwohl sie im Installationssystem vorhanden sind.<br />
# genfstab -L /mnt/ > /mnt/etc/fstab [die Umleitung weg lassen um die Einhängepunkte zu überprüfen]<br />
=== Konfiguration des Systems ===<br />
#echo HOSTNAME > /mnt/etc/hostname<br />
#arch-chroot /mnt/<br />
In der chroot-Umgebung sind die Konfigurationsdateien zu bearbeiten:<br />
*Spracheinstellungen in /etc/locale.conf ergänzen | mit nano/vi nachfolgenden Text einfügen:<br />
LANG=de_DE.UTF-8<br />
LC_COLLATE=C<br />
LANGUAGE=de_DE<br />
*Symbolischen Link /etc/localtime auf gewünschte Zone setzen:<br />
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime<br />
*Tastaturbelegung und Schriftart in der Datei /etc/vconsole.conf<br />
KEYMAP=de-latin1<br />
FONT=lat9w-16<br />
*Gewünschte Sprachen in /etc/locale.gen auskommentieren, anschließend mit: {{ic|locale-gen}} erzeugen.<br />
*Kernel erzeugen mit {{ic|mkinitcpio -p linux}}<br />
*root-Passwort anlegen/ändern: {{ic|passwd}}<br />
=== Installation und Konfiguration eines Boot-Loaders ===<br />
siehe [[Grub]]<br />
pacman -S grub<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
grub-install /dev/sda<br />
=== Aushängen und Neu-Starten ===<br />
{{ic|umount}} und {{ic|reboot}}<br />
<br />
== Arch-Linux zum Desktop System aufarbeiten ==<br />
=== Benutzer anlegen ===<br />
useradd -m -g users -s /bin/bash NAME<br />
passwd NAME<br />
=== Notwendige Dienste ===<br />
{{ic|acpid ntp dbus avahi cups cronie}} mit pacman installieren und mit {{ic|systemctl enable}} für den Systemstart aktivieren.<br />
<br />
=== X-Server und Umgebung installieren ===<br />
X installieren:<br />
pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils<br />
Grafiktreiber installieren. Mit nachfolgendem Befehl werden alle Treiber installiert.<br />
pacman -S xorg-drivers<br />
Statt dessen kann die Karte ermittelt werden und dann der richtige Treiber installiert werden.<br />
lspci | grep VGA<br />
pacman -S xf86-video-* [zu benutzender Treiber hier wählen]<br />
<br />
Touchpad-Treiber für X installieren:<br />
pacman -S xf86-input-synaptics<br />
Tastaturlayout ändern, Bsp:<br />
localectl set-x11-keymap de pc105 de<br />
<br />
== Nach der Installation ==<br />
<br />
[[Kategorie:Installation]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Plasma&diff=19561Plasma2017-04-30T19:57:10Z<p>Boenki: /* Telepathy */</p>
<hr />
<div>Dieser Artikel behandelt die Desktop-Umgebung Plasma. Die [[KDE|'''Anwendungsprogramme von KDE''']] werden in einem gesonderten Artikel beschrieben.<br />
<br />
'''Plasma''' ist eine moderne Desktop-Umgebung der KDE-Community. Sie zeichnet sich durch ihre große Funktionsfülle aus, und bietet dem Benutzer eine hohe Anpassungsfähigkeit der Arbeitsumgebung.<br />
<br />
{{installation<br />
|repo=extra<br />
|name=Plasma<br />
|paket=plasma-meta<br />
|zusatz=plasma-desktop<br />
|zusatzinfo=Minimalistische Version<br />
}}<br />
<br />
# Zusätzliche Programme<br />
pacman -S {{Paket|kde-applications|kde-applications}}<br />
# Sprachpaket<br />
pacman -S {{Paket|kde-l10n-de|kde-l10n-de}}<br />
#Weitere Sprachen<br />
https://www.archlinux.org/packages/extra/any/kde-l10n/<br />
<br />
==Display Manager==<br />
Zusätzlich wird noch der Display Manager [[Login-Manager#SDDM|SDDM]] empfohlen, denn dieser integriert sich sehr gut in Plasma.<br />
pacman -S {{Paket|sddm|sddm}}<br />
systemctl enable sddm<br />
systemctl start sddm<br />
<br />
==Plasma Starten==<br />
Für das Starten von Plasma ist eine funtionierender [[Anleitung_f%C3%BCr_Einsteiger#Teil_2:_Installation_von_X_und_Konfiguration|X11 Display-Server]] Voraussetzung. <br />
Plasma kann entweder im Menü des Display Managers gestartet werden oder via Konsole mit {{ic|startx}}.<br />
Vor einem manuellen Start muss am Ende der Datei {{ic|~/.xinitrc}} folgende Zeile hinzugefügt werden: {{ic|exec startkde}}<br />
<br />
==Wayland==<br />
Wayland ist ein Display-Server-Protokoll und stellt eine Alternative zum klassischem Display-Server X11 dar. Die Plasma Unterstützung für Wayland ist noch nicht komplett ausgereift. Aber mit etwas Enthusiasmus und Willen zum Testen ist auch das Arbeiten damit schon durchaus möglich. Die wenigen KDE-Anwendungen die noch nicht auf QT5 portiert sind, greifen hierbei auf den X-Server zurück. Um Plasma mit Wayland zu starten, wird folgendes benötigt:<br />
pacman -S {{Paket|plasma-wayland-session}}<br />
Zum Starten der Session wird im Menü des Login Managers Plasma (Wayland) ausgewählt.<br />
<br />
==QT4 und GTK==<br />
===QT4===<br />
Um grafische Konflikte zwischen Qt5- und Qt4-Apps zu beheben, kann folgendes Paket installiert werden:<br />
pacman -S {{Paket|breeze-kde4}}<br />
<br />
===GTK===<br />
Falls es Probleme mit GTK-Anwendungen gibt, hilft folgendes Paket:<br />
pacman -S {{Paket|breeze-gtk}}<br />
<br />
==Baloo-Desktop-Suche==<br />
Auch die Minimal-Installation ''plasma-desktop'' zieht das Paket ''baloo'' nach sich. Baloo, mit dem Front-End ''milou'', unterstützt die Suche nach installierten Programmen und Dateien beispielsweise in der Dateiverwaltung ''dolphin'', aber auch durch Auto-Vervollständigung in ''krunner'' (Alt+F2). Dazu werden bei Ersteinrichtung zunächst einmal alle Dateien indexiert, was je nach Anzahl eine Weile dauern kann und das System entsprechend auslastet. Sollten beispielsweise die Konfigurations-Verzeichnisse umbenannt oder verschoben worden sein, so dass sie neu angelegt werden, wird ''baloo'' die Indexierung neu starten.<br />
<br />
==Telepathy==<br />
Um Telepathy in Plasma benutzen zu können, wird folgendes benötigt:<br />
{{Paket|telepathy}}<br />
Des Weiteren gibt es noch folgende Protokolle, um z. B. Telegram zu benutzen:<br />
{{AUR|telegram-purple}}, {{AUR|telegram-purple-git}}, {{AUR|telepathy-morse-git}}<br />
<br />
==Android Integration==<br />
[https://community.kde.org/KDEConnect KDEConnect] bietet folgende Vorteile:<br />
*Teilen von Dateien und URLs zwischen App und Plasma<br />
*Smartphone als Maus benutzen<br />
*Smartphone-Nachrichten in Plasma anzeigen lassen<br />
*Geteiltes Clipboard (copy & paste)<br />
*Multimedia-Anwendungen von der App aus steuern<br />
*Verbindung über WLAN<br />
*RSA Verschlüsselung<br />
<br />
Installation:<br />
pacman -S {{Paket|kdeconnect|kdeconnect}} <br />
und die App für Android: [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google-Play]<br />
<br />
==Openbox==<br />
Das Paket {{Paket|Openbox}} unterstützt eine Sitzung mit Plasma. Diese kann entweder mit dem Display Manager-Menü gestartet werden oder via {{ic|.xinitrc}}, indem man folgende Zeile hinzufügt:<br />
exec openbox-kde-session<br />
<br />
== Siehe auch ==<br />
* [[KDE]]<br />
<br />
== Weblinks ==<br />
* [http://www.kde.org KDE - Homepage] {{sprache|en}}<br />
* [http://kde-apps.org KDE - Apps.org] {{sprache|en}}<br />
* [http://kde-look.org/ KDE - Look.org] {{sprache|en}}<br />
* [http://www.kde-forum.de Das deutschsprachige KDE-Forum] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/K_Desktop_Environment KDE auf Wikipedia.org] {{sprache|de}}<br />
<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
<br />
[[en:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[es:KDE]]<br />
[[fa:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE Masaüstü Ortamı]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Plasma&diff=19560Plasma2017-04-30T19:54:50Z<p>Boenki: /* QT4 und GTK */</p>
<hr />
<div>Dieser Artikel behandelt die Desktop-Umgebung Plasma. Die [[KDE|'''Anwendungsprogramme von KDE''']] werden in einem gesonderten Artikel beschrieben.<br />
<br />
'''Plasma''' ist eine moderne Desktop-Umgebung der KDE-Community. Sie zeichnet sich durch ihre große Funktionsfülle aus, und bietet dem Benutzer eine hohe Anpassungsfähigkeit der Arbeitsumgebung.<br />
<br />
{{installation<br />
|repo=extra<br />
|name=Plasma<br />
|paket=plasma-meta<br />
|zusatz=plasma-desktop<br />
|zusatzinfo=Minimalistische Version<br />
}}<br />
<br />
# Zusätzliche Programme<br />
pacman -S {{Paket|kde-applications|kde-applications}}<br />
# Sprachpaket<br />
pacman -S {{Paket|kde-l10n-de|kde-l10n-de}}<br />
#Weitere Sprachen<br />
https://www.archlinux.org/packages/extra/any/kde-l10n/<br />
<br />
==Display Manager==<br />
Zusätzlich wird noch der Display Manager [[Login-Manager#SDDM|SDDM]] empfohlen, denn dieser integriert sich sehr gut in Plasma.<br />
pacman -S {{Paket|sddm|sddm}}<br />
systemctl enable sddm<br />
systemctl start sddm<br />
<br />
==Plasma Starten==<br />
Für das Starten von Plasma ist eine funtionierender [[Anleitung_f%C3%BCr_Einsteiger#Teil_2:_Installation_von_X_und_Konfiguration|X11 Display-Server]] Voraussetzung. <br />
Plasma kann entweder im Menü des Display Managers gestartet werden oder via Konsole mit {{ic|startx}}.<br />
Vor einem manuellen Start muss am Ende der Datei {{ic|~/.xinitrc}} folgende Zeile hinzugefügt werden: {{ic|exec startkde}}<br />
<br />
==Wayland==<br />
Wayland ist ein Display-Server-Protokoll und stellt eine Alternative zum klassischem Display-Server X11 dar. Die Plasma Unterstützung für Wayland ist noch nicht komplett ausgereift. Aber mit etwas Enthusiasmus und Willen zum Testen ist auch das Arbeiten damit schon durchaus möglich. Die wenigen KDE-Anwendungen die noch nicht auf QT5 portiert sind, greifen hierbei auf den X-Server zurück. Um Plasma mit Wayland zu starten, wird folgendes benötigt:<br />
pacman -S {{Paket|plasma-wayland-session}}<br />
Zum Starten der Session wird im Menü des Login Managers Plasma (Wayland) ausgewählt.<br />
<br />
==QT4 und GTK==<br />
===QT4===<br />
Um grafische Konflikte zwischen Qt5- und Qt4-Apps zu beheben, kann folgendes Paket installiert werden:<br />
pacman -S {{Paket|breeze-kde4}}<br />
<br />
===GTK===<br />
Falls es Probleme mit GTK-Anwendungen gibt, hilft folgendes Paket:<br />
pacman -S {{Paket|breeze-gtk}}<br />
<br />
==Baloo-Desktop-Suche==<br />
Auch die Minimal-Installation ''plasma-desktop'' zieht das Paket ''baloo'' nach sich. Baloo, mit dem Front-End ''milou'', unterstützt die Suche nach installierten Programmen und Dateien beispielsweise in der Dateiverwaltung ''dolphin'', aber auch durch Auto-Vervollständigung in ''krunner'' (Alt+F2). Dazu werden bei Ersteinrichtung zunächst einmal alle Dateien indexiert, was je nach Anzahl eine Weile dauern kann und das System entsprechend auslastet. Sollten beispielsweise die Konfigurations-Verzeichnisse umbenannt oder verschoben worden sein, so dass sie neu angelegt werden, wird ''baloo'' die Indexierung neu starten.<br />
<br />
==Telepathy==<br />
Um Telepathy in Plasma benutzen zu können, wird folgendes benötigt:<br />
{{Paket|telepathy|telepathy}}<br />
Des Weiteren gibt es noch folgende Protokolle, um z. B. Telegram zu benutzen:<br />
{{AUR|telegram-purple|telegram-purple}}, {{AUR| telegram-purple-git| telegram-purple-git}}, {{AUR|telepathy-morse-git|telepathy-morse-git}}<br />
<br />
==Android Integration==<br />
[https://community.kde.org/KDEConnect KDEConnect] bietet folgende Vorteile:<br />
*Teilen von Dateien und URLs zwischen App und Plasma<br />
*Smartphone als Maus benutzen<br />
*Smartphone-Nachrichten in Plasma anzeigen lassen<br />
*Geteiltes Clipboard (copy & paste)<br />
*Multimedia-Anwendungen von der App aus steuern<br />
*Verbindung über WLAN<br />
*RSA Verschlüsselung<br />
<br />
Installation:<br />
pacman -S {{Paket|kdeconnect|kdeconnect}} <br />
und die App für Android: [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google-Play]<br />
<br />
==Openbox==<br />
Das Paket {{Paket|Openbox}} unterstützt eine Sitzung mit Plasma. Diese kann entweder mit dem Display Manager-Menü gestartet werden oder via {{ic|.xinitrc}}, indem man folgende Zeile hinzufügt:<br />
exec openbox-kde-session<br />
<br />
== Siehe auch ==<br />
* [[KDE]]<br />
<br />
== Weblinks ==<br />
* [http://www.kde.org KDE - Homepage] {{sprache|en}}<br />
* [http://kde-apps.org KDE - Apps.org] {{sprache|en}}<br />
* [http://kde-look.org/ KDE - Look.org] {{sprache|en}}<br />
* [http://www.kde-forum.de Das deutschsprachige KDE-Forum] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/K_Desktop_Environment KDE auf Wikipedia.org] {{sprache|de}}<br />
<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
<br />
[[en:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[es:KDE]]<br />
[[fa:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE Masaüstü Ortamı]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Plasma&diff=19559Plasma2017-04-30T19:53:54Z<p>Boenki: /* Wayland */</p>
<hr />
<div>Dieser Artikel behandelt die Desktop-Umgebung Plasma. Die [[KDE|'''Anwendungsprogramme von KDE''']] werden in einem gesonderten Artikel beschrieben.<br />
<br />
'''Plasma''' ist eine moderne Desktop-Umgebung der KDE-Community. Sie zeichnet sich durch ihre große Funktionsfülle aus, und bietet dem Benutzer eine hohe Anpassungsfähigkeit der Arbeitsumgebung.<br />
<br />
{{installation<br />
|repo=extra<br />
|name=Plasma<br />
|paket=plasma-meta<br />
|zusatz=plasma-desktop<br />
|zusatzinfo=Minimalistische Version<br />
}}<br />
<br />
# Zusätzliche Programme<br />
pacman -S {{Paket|kde-applications|kde-applications}}<br />
# Sprachpaket<br />
pacman -S {{Paket|kde-l10n-de|kde-l10n-de}}<br />
#Weitere Sprachen<br />
https://www.archlinux.org/packages/extra/any/kde-l10n/<br />
<br />
==Display Manager==<br />
Zusätzlich wird noch der Display Manager [[Login-Manager#SDDM|SDDM]] empfohlen, denn dieser integriert sich sehr gut in Plasma.<br />
pacman -S {{Paket|sddm|sddm}}<br />
systemctl enable sddm<br />
systemctl start sddm<br />
<br />
==Plasma Starten==<br />
Für das Starten von Plasma ist eine funtionierender [[Anleitung_f%C3%BCr_Einsteiger#Teil_2:_Installation_von_X_und_Konfiguration|X11 Display-Server]] Voraussetzung. <br />
Plasma kann entweder im Menü des Display Managers gestartet werden oder via Konsole mit {{ic|startx}}.<br />
Vor einem manuellen Start muss am Ende der Datei {{ic|~/.xinitrc}} folgende Zeile hinzugefügt werden: {{ic|exec startkde}}<br />
<br />
==Wayland==<br />
Wayland ist ein Display-Server-Protokoll und stellt eine Alternative zum klassischem Display-Server X11 dar. Die Plasma Unterstützung für Wayland ist noch nicht komplett ausgereift. Aber mit etwas Enthusiasmus und Willen zum Testen ist auch das Arbeiten damit schon durchaus möglich. Die wenigen KDE-Anwendungen die noch nicht auf QT5 portiert sind, greifen hierbei auf den X-Server zurück. Um Plasma mit Wayland zu starten, wird folgendes benötigt:<br />
pacman -S {{Paket|plasma-wayland-session}}<br />
Zum Starten der Session wird im Menü des Login Managers Plasma (Wayland) ausgewählt.<br />
<br />
==QT4 und GTK==<br />
===QT4===<br />
Um grafische Konflikte zwischen Qt5- und Qt4-Apps zu beheben, kann folgendes Paket installiert werden:<br />
<br />
pacman -S {{Paket|breeze-kde4|breeze-kde4}}<br />
<br />
===GTK===<br />
Falls es Probleme mit GTK-Anwendungen gibt, hilft folgendes Paket:<br />
pacman -S {{Paket|breeze-gtk|breeze-gtk}}<br />
<br />
==Baloo-Desktop-Suche==<br />
Auch die Minimal-Installation ''plasma-desktop'' zieht das Paket ''baloo'' nach sich. Baloo, mit dem Front-End ''milou'', unterstützt die Suche nach installierten Programmen und Dateien beispielsweise in der Dateiverwaltung ''dolphin'', aber auch durch Auto-Vervollständigung in ''krunner'' (Alt+F2). Dazu werden bei Ersteinrichtung zunächst einmal alle Dateien indexiert, was je nach Anzahl eine Weile dauern kann und das System entsprechend auslastet. Sollten beispielsweise die Konfigurations-Verzeichnisse umbenannt oder verschoben worden sein, so dass sie neu angelegt werden, wird ''baloo'' die Indexierung neu starten.<br />
<br />
==Telepathy==<br />
Um Telepathy in Plasma benutzen zu können, wird folgendes benötigt:<br />
{{Paket|telepathy|telepathy}}<br />
Des Weiteren gibt es noch folgende Protokolle, um z. B. Telegram zu benutzen:<br />
{{AUR|telegram-purple|telegram-purple}}, {{AUR| telegram-purple-git| telegram-purple-git}}, {{AUR|telepathy-morse-git|telepathy-morse-git}}<br />
<br />
==Android Integration==<br />
[https://community.kde.org/KDEConnect KDEConnect] bietet folgende Vorteile:<br />
*Teilen von Dateien und URLs zwischen App und Plasma<br />
*Smartphone als Maus benutzen<br />
*Smartphone-Nachrichten in Plasma anzeigen lassen<br />
*Geteiltes Clipboard (copy & paste)<br />
*Multimedia-Anwendungen von der App aus steuern<br />
*Verbindung über WLAN<br />
*RSA Verschlüsselung<br />
<br />
Installation:<br />
pacman -S {{Paket|kdeconnect|kdeconnect}} <br />
und die App für Android: [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google-Play]<br />
<br />
==Openbox==<br />
Das Paket {{Paket|Openbox}} unterstützt eine Sitzung mit Plasma. Diese kann entweder mit dem Display Manager-Menü gestartet werden oder via {{ic|.xinitrc}}, indem man folgende Zeile hinzufügt:<br />
exec openbox-kde-session<br />
<br />
== Siehe auch ==<br />
* [[KDE]]<br />
<br />
== Weblinks ==<br />
* [http://www.kde.org KDE - Homepage] {{sprache|en}}<br />
* [http://kde-apps.org KDE - Apps.org] {{sprache|en}}<br />
* [http://kde-look.org/ KDE - Look.org] {{sprache|en}}<br />
* [http://www.kde-forum.de Das deutschsprachige KDE-Forum] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/K_Desktop_Environment KDE auf Wikipedia.org] {{sprache|de}}<br />
<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
<br />
[[en:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[es:KDE]]<br />
[[fa:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE Masaüstü Ortamı]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=VLC-Livestream&diff=19557VLC-Livestream2017-04-27T12:56:27Z<p>Boenki: Seite im ANR erstellt</p>
<hr />
<div>Diese Datei kann als Playlist für [[VLC]] benutzt werden, um Livestreams zu gucken. Der code muss als xspf-Datei gespeichert werden und mit VLC geöffnet werden. Um die Sender zu wechseln muss die Playlist angezeigt werden, beispielsweise mittels {{Taste|Strg}}+{{Taste|L}}.<br />
<br />
[[Datei:playlist.png|200px|thumb|right]]<br />
<br />
<pre><?xml version="1.0" encoding="UTF-8"?><br />
<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1"><br />
<title>Playlist</title><br />
<trackList><br />
<track><br />
<location>http://daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8</location><br />
<title>Das Erste</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/d/d1/ARD_Dachmarke_2014.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>0</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://kika_geo-lh.akamaihd.net/i/livetvkika_de@75114/master.m3u8</location><br />
<title>KiKa</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/f/f5/Kika_2012.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>1</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://zdf1314-lh.akamaihd.net/i/de14_v1@392878/master.m3u8</location><br />
<title>ZDF</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/0/02/ZDF.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>2</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://artelive-lh.akamaihd.net/i/artelive_de@393591/master.m3u8</location><br />
<title>Arte</title><br />
<image>https://static-cdn.arte.tv/components/src/header/assets/img/logo-arte.png</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>3</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://wdr_fs_geo-lh.akamaihd.net/i/wdrfs_geogeblockt@112044/master.m3u8</location><br />
<title>WDR</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/9/9b/WDR_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>4</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://zdf0910-lh.akamaihd.net/i/de09_v1@392871/master.m3u8</location><br />
<title>phoenix</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/1/17/Phoenix_Logo_2012.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>5</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://ndr_fs-lh.akamaihd.net/i/ndrfs_nds@119224/master.m3u8</location><br />
<title>NDR</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/0/08/NDR_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>6</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://zdf1314-lh.akamaihd.net/i/de13_v1@392877/master.m3u8</location><br />
<title>zdf_neo</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/b/b4/ZDFneo.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>7</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://zdf1112-lh.akamaihd.net/i/de12_v1@392882/master.m3u8</location><br />
<title>zdf info</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/3/34/ZDFinfo_2011.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>8</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://p.live.akamai.n-tv.de/playlists/ntvlive-ipadakamai.m3u8</location><br />
<title>n-tv</title><br />
<image>https://upload.wikimedia.org/wikipedia/de/a/ad/N-tv-emblem-2009.jpg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>9</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://livestreams.br.de/i/bralpha_germany@119899/master.m3u8</location><br />
<title>ARD-alpha</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/4/4b/ARD_alpha.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>10</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://wdr_einsfestival-lh.akamaihd.net/i/wdr_einsfestival@328300/master.m3u8</location><br />
<title>ARD-one</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/1/16/One_TV_Logo.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>11</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8</location><br />
<title>ARD Tagesschau</title><br />
<image>http://www.tagesschau.de/multimedia/bilder/tagesschauapp104~_v-grossfrei16x9.jpg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>12</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://livestreams.br.de/i/bfsnord_germany@119898/master.m3u8</location><br />
<title>BR</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/9/98/BR_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>13</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://dwstream72-lh.akamaihd.net/i/dwstream72_live@123556/master.m3u8</location><br />
<title>DW</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/7/75/Deutsche_Welle_symbol_2012.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>14</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://live1_hr-lh.akamaihd.net/i/hr_fernsehen@75910/master.m3u8</location><br />
<title>hr</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/6/63/HR_Logo.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>15</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://mdr_th_hls-lh.akamaihd.net/i/livetvmdrthueringen_de@106903/master.m3u8</location><br />
<title>mdr</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/6/61/MDR_Logo_2017.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>16</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://rbblive-lh.akamaihd.net/i/rbb_brandenburg@349369/master.m3u8</location><br />
<title>rbb</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/e/ee/RBB_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>17</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://zdf0910-lh.akamaihd.net/i/dach10_v1@392872/master.m3u8</location><br />
<title>3sat</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/f/f2/3sat-Logo.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>18</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://live2_sr-lh.akamaihd.net/i/sr_universal02@107595/master.m3u8</location><br />
<title>SR</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/8/83/SR_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>19</vlc:id><br />
</extension><br />
</track><br />
<track><br />
<location>http://swrbw-lh.akamaihd.net/i/swrbw_live@196738/master.m3u8</location><br />
<title>SWR</title><br />
<image>https://upload.wikimedia.org/wikipedia/commons/6/6f/SWR_Dachmarke.svg</image><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:id>20</vlc:id><br />
</extension><br />
</track><br />
</trackList><br />
<extension application="http://www.videolan.org/vlc/playlist/0"><br />
<vlc:item tid="0"/><br />
<vlc:item tid="1"/><br />
<vlc:item tid="2"/><br />
<vlc:item tid="3"/><br />
<vlc:item tid="4"/><br />
<vlc:item tid="5"/><br />
<vlc:item tid="6"/><br />
<vlc:item tid="7"/><br />
<vlc:item tid="8"/><br />
<vlc:item tid="9"/><br />
<vlc:item tid="10"/><br />
<vlc:item tid="11"/><br />
<vlc:item tid="12"/><br />
<vlc:item tid="13"/><br />
<vlc:item tid="14"/><br />
<vlc:item tid="15"/><br />
<vlc:item tid="16"/><br />
<vlc:item tid="17"/><br />
<vlc:item tid="18"/><br />
<vlc:item tid="19"/><br />
<vlc:item tid="20"/><br />
</extension><br />
</playlist><br />
</pre></div>Boenkihttps://wiki.archlinux.de/index.php?title=Datei:Playlist.png&diff=19549Datei:Playlist.png2017-04-25T09:14:32Z<p>Boenki: Screenshot der Playlist von VLC</p>
<hr />
<div>Screenshot der Playlist von VLC</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Live-Tv&diff=19537Diskussion:Live-Tv2017-04-22T20:13:09Z<p>Boenki: Neuer Abschnitt /* VLC-Playlist */</p>
<hr />
<div>Hi, nettes Script. Leider funktioniert es hier nicht (copy&paste), ich musste bei den URLs noch den Zeilenumbruch escapen. Ich habe das Script mal überarbeitet. https://paste.archlinux.de/8purN/ <br> Das Ergebnis von kdialog wird jetzt in einer Variablen gespeichert und das Script kann mit beliebigem Namen/Pfad gespeichert werden. Ich finde z.B. /usr/local/bin/ ganz praktisch. ;) [[Benutzer:Mis|Mis]] ([[Benutzer Diskussion:Mis|Diskussion]]) 13:47, 17. Apr. 2017 (CEST)<br />
Edit: Wenn keiner was dagegen hat würde ich die Änderungen so vornehmen..<br />
<br />
Sehr schön, eine deutliche Verbesserung. Habe mir erlaubt dich als Urheber zu nennen. Die Installationsanleitung habe ich auch angepasst.<br />
Gruß [[Benutzer:TuxNix|TuxNix]] ([[Benutzer Diskussion:TuxNix|Diskussion]]) 13:20, 18. Apr. 2017 (CEST)<br />
<br />
== VLC-Playlist ==<br />
<br />
Hallo, ich möchte dieses Script nicht schlecht machen. Schließlich war es eben der Ideengeber für eine noch einfachere Art Live-Tv mit VLC zu streamen. Es geht nämlich ganz ohne script und kdialog mithilfe einer Playlist für VLC. Ich hab mal angefangen. Ihr findet die [[Benutzer:Boenki/vlc-live-tv|hier]]. Speichert man den Inhalt als foo.xspf und öffnet sie mit VLC kann man die Sender auch gucken. Sind aber noch nicht alle drin. --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 22:13, 22. Apr. 2017 (CEST)</div>Boenkihttps://wiki.archlinux.de/index.php?title=Live-Tv&diff=19529Live-Tv2017-04-22T07:26:44Z<p>Boenki: Vorlagen eingebaut</p>
<hr />
<div>{{righttoc}}<br />
[[Datei:Live-Tv.png|200px|thumb|right]]<br />
<br />
Mit Live-Tv schaut man die Internet Livestreams der gewünschten Fernsehsender.<br />
Das kleine Skript nutzt {{Paket|kdialog}} und {{Paket|vlc}}.<br />
Die öffentlich rechtlichen Sender (Stand April.2017) sind voreingestellt. Bei Bedarf ist die Liste im Skript für die jeweiligen Sender zu ergänzen.<br />
<br />
Als Alternative zu Live-Tv sei auf die jeweiligen Mediatheken im Internet und die Anwendung {{AUR|mediathek|MediathekView}} verwiesen.<br />
Zum Aufnehmen von Sendungen aus dem Internet eignet sich auch [http://wiki.tvbrowser.org/index.php/Stream_Recorder Stream Recorder], das zusammen mit <br />
{{AUR|tvbrowser|TV-Browser}} arbeitet.<br />
<br />
== Installation ==<br />
Voraussetzung ist ein Internetanschluss.<br />
Zusätzlich werden die Pakete von kdialog und der VLC Mediaplayer benötigt.<br />
Diese sind bei Bedarf zu installieren. <br />
pacman -S kdialog vlc<br />
<br />
Das Skript wird kopiert und z.B. als {{ic|/usr/local/bin/livetv}} abgespeichert. Danach wird es mit {{ic|sudo chmod +x /usr/local/bin/livetv}} ausführbar gemacht.<br />
Das Verzeichnis /usr/local/bin/ hat den Vorteil, dass das Script ohne eine Pfadangabe mit {{ic|livetv}} systemweit gestartet werden kann.<br />
<br />
== Bedienung ==<br />
Die Bedienung kann mittels Maus, Tastatur oder Fernbedienung erfolgen.<br />
Der gewünschte Sender wird ausgewählt und mit {{ic|OK}} bestätgt. Je nach Geschwindigkeit der vorhandenen Internetverbindung kann es einige Sekunden dauern bis ein stabiler Stream aufgebaut ist.<br />
Zum Umschalten wird der VLC Mediaplayer beendet. Daraufhin erscheint der Dialog von TV-Live erneut und ermöglicht so die Wahl eines neuen Senders.<br />
VLC erlaubt ein Time-Shift mittes der Pausentaste. Zum Beenden von Live-Tv wird {{ic|Abbrechen}} gewählt.<br />
<br />
== Das Skript ==<br />
<br />
<nowiki><br />
#!/bin/bash<br />
<br />
# from TuxNix and Mis see https://wiki.archlinux.de<br />
# script under GPLv.3 with no garanty at all<br />
<br />
script_path="$(dirname "$0")"<br />
script_name="$(basename "$0")"<br />
<br />
stream_url="$(kdialog --title "Live-Tv" --radiolist "Sender wählen und OK drücken!" \<br />
"http://daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8" "ARD" off \<br />
"http://livestreams.br.de/i/bralpha_germany@119899/master.m3u8" "ARD alpha" off \<br />
"http://wdr_einsfestival-lh.akamaihd.net/i/wdr_einsfestival@328300/master.m3u8" "ARD one" off \<br />
"http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8" "ARD Tagesschau" off \<br />
"http://artelive-lh.akamaihd.net/i/artelive_de@393591/master.m3u8" "Arte" off \<br />
"http://livestreams.br.de/i/bfsnord_germany@119898/master.m3u8" "BR" off \<br />
"http://dwstream72-lh.akamaihd.net/i/dwstream72_live@123556/master.m3u8" "DW" off \<br />
"http://live1_hr-lh.akamaihd.net/i/hr_fernsehen@75910/master.m3u8" "hr" off \<br />
"http://kika_geo-lh.akamaihd.net/i/livetvkika_de@75114/master.m3u8" "Kika" off \<br />
"http://mdr_th_hls-lh.akamaihd.net/i/livetvmdrthueringen_de@106903/master.m3u8" "mdr" off \<br />
"http://ndr_fs-lh.akamaihd.net/i/ndrfs_nds@119224/master.m3u8" "NDR" off \<br />
"http://zdf0910-lh.akamaihd.net/i/de09_v1@392871/master.m3u8" "phoenix" off \<br />
"http://rbb_live-lh.akamaihd.net/i/rbb_brandenburg@107638/master.m3u8" "rbb" off \<br />
"http://zdf0910-lh.akamaihd.net/i/dach10_v1@392872/master.m3u8" "Sat3" off \<br />
"http://live2_sr-lh.akamaihd.net/i/sr_universal02@107595/master.m3u8" "SR" off \<br />
"http://swrbw-lh.akamaihd.net/i/swrbw_live@196738/master.m3u8" "SWR" off \<br />
"http://wdr_fs_geo-lh.akamaihd.net/i/wdrfs_geogeblockt@112044/master.m3u8" "WDR" off \<br />
"http://zdf1314-lh.akamaihd.net/i/de14_v1@392878/master.m3u8" "ZDF" off \<br />
"http://zdf1112-lh.akamaihd.net/i/de12_v1@392882/master.m3u8" "ZDF info" off \<br />
"http://zdf1314-lh.akamaihd.net/i/de13_v1@392877/master.m3u8" "ZDF neo" off)"<br />
<br />
if(($? == 0)); then<br />
vlc "${stream_url}"<br />
exec "${script_path}/${script_name}"<br />
else<br />
echo "Live-Tv wurde beendet"<br />
fi<br />
</nowiki><br />
<br />
== Weblinks ==<br />
* [https://mediathekview.de/ MediathekView]<br />
* [http://wiki.tvbrowser.org/index.php/Stream_Recorder Stream Recorder Stream Recorder]<br />
<br />
[[Kategorie:Scripte]]<br />
[[Kategorie:Multimedia]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Live-Tv&diff=19518Live-Tv2017-04-17T10:04:00Z<p>Boenki: Pfad vereinfacht</p>
<hr />
<div>{{righttoc}}<br />
[[Datei:Live-Tv.png|200px|thumb|right]]<br />
<br />
Mit Live-Tv schaut man die Internet Livestreams der gewünschten Fernsehsender.<br />
Das kleine Skript nutzt kdialog und VLC.<br />
Die öffentlich rechtlichen Sender (Stand April.2017) sind voreingestellt. Bei Bedarf ist die Liste im Skript für die jeweiligen Sender zu ergänzen.<br />
Als Alternative zu Live-Tv sei auf die jeweiligen Mediatheken im Internet und die Anwendung MediathekView verwiesen.<br />
<br />
== Installation ==<br />
Voraussetzung ist ein Internetanschluss.<br />
Zusätzlich werden die Pakete von kdialog und der VLC Mediaplayer benötigt.<br />
Diese sind bei Bedarf zu installieren. <br />
pacman -S kdialog vlc<br />
<br />
Das Skript wird kopiert und als Datei {{ic|~.scripts/livetv}} abgespeichert. Danach wird es mit {{ic|chmod a+rx ~/.scripts/livetv}} ausführbar gemacht und mit {{ic|~/.scripts/livetv}} gestartet.<br />
<br />
== Bedienung ==<br />
Die Bedienung kann mittels Maus, Tastatur oder Fernbedienung erfolgen.<br />
Der gewünschte Sender wird ausgewählt und mit {{ic|OK}} bestätgt. Je nach Geschwindigkeit der vorhandenen Internetverbindung kann es einige Sekunden dauern bis ein stabiler Stream aufgebaut ist.<br />
Zum Umschalten wird der VLC Mediaplayer beendet. Daraufhin erscheint der Dialog von TV-Live erneut und ermöglicht so die Wahl eines neuen Senders.<br />
VLC erlaubt ein Time-Shift mittes der Pausentaste. Zum Beenden von Live-Tv wird {{ic|Abbrechen}} gewählt.<br />
<br />
== Das Skript ==<br />
<br />
<nowiki><br />
#!/bin/bash<br />
<br />
# file ~/.scripts/livetv<br />
# from user tuxnix in https://wiki.archlinux.de<br />
# script under GPLv.3 with no garanty at all<br />
<br />
kdialog --title "Live-Tv" --radiolist "Sender wählen und OK drücken!" "http://daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8">livetv-stream ARD off "http://livestreams.br.de/i/bralpha_germany@119899/master.m3u8" "ARD alpha" off "http://wdr_einsfestival-lh.akamaihd.net/i/wdr_einsfestival@328300/master.m3u8" "ARD one" off "http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8" "ARD Tagesschau" off "http://artelive-lh.akamaihd.net/i/artelive_de@393591/master.m3u8" Arte off "http://livestreams.br.de/i/bfsnord_germany@119898/master.m3u8" "BR" off "http://dwstream72-lh.akamaihd.net/i/dwstream72_live@123556/master.m3u8" DW off "http://live1_hr-lh.akamaihd.net/i/hr_fernsehen@75910/master.m3u8" hr off "http://kika_geo-lh.akamaihd.net/i/livetvkika_de@75114/master.m3u8" Kika off "http://mdr_th_hls-lh.akamaihd.net/i/livetvmdrthueringen_de@106903/master.m3u8" mdr off "http://ndr_fs-lh.akamaihd.net/i/ndrfs_nds@119224/master.m3u8" NDR off "http://zdf0910-lh.akamaihd.net/i/de09_v1@392871/master.m3u8" phoenix off "http://rbb_live-lh.akamaihd.net/i/rbb_brandenburg@107638/master.m3u8" rbb off "http://zdf0910-lh.akamaihd.net/i/dach10_v1@392872/master.m3u8" Sat3 off "http://live2_sr-lh.akamaihd.net/i/sr_universal02@107595/master.m3u8" SR off "http://swrbw-lh.akamaihd.net/i/swrbw_live@196738/master.m3u8" SWR off "http://wdr_fs_geo-lh.akamaihd.net/i/wdrfs_geogeblockt@112044/master.m3u8" WDR off "http://zdf1314-lh.akamaihd.net/i/de14_v1@392878/master.m3u8" ZDF off "http://zdf1112-lh.akamaihd.net/i/de12_v1@392882/master.m3u8" "ZDF info" off "http://zdf1314-lh.akamaihd.net/i/de13_v1@392877/master.m3u8" "ZDF neo" off <br />
if [ $? = 0 ] ; then<br />
<br />
vlc livetv-stream<br />
~/.scripts/livetv<br />
<br />
else<br />
echo "Live-Tv wurde beendet" <br />
fi<br />
<br />
exit 0<br />
</nowiki><br />
<br />
[[Kategorie:Scripte]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Qdbus&diff=19516Qdbus2017-04-14T14:12:12Z<p>Boenki: typos</p>
<hr />
<div>{{unvollständig}}<br />
{{righttoc}}<br />
D-Bus stellt die Interprozesskommunikation (IPC) zwischen den verschiedenen Programmen auf einem Linux System her. '''Qt D-Bus''' (qdbus) stellt die IPC von D-Bus in einer für Qt typischen objektorientierten Programm-Syntax bereit.<br />
<br />
Das Paket {{Paket|dbus}} aus dem {{ic|core}} Repositorium ist Teil jeder Standardinstallation. <br />
<br />
Als anschauliches Beispiel für Interprozesskommunikation mit qdbus ist [[Plasma#Android_Integration|KDEConnect]], dass die Bedienung eines Desktop-PCs über eine Smartphone App realisiert.<br />
<br />
== Handling ==<br />
qdbus<br />
Gibt die Namen aller zur Zeit laufenden Services aus.<br />
<br />
qdbus | grep amarok<br />
Filtert die Ausgabe nach der gewünschten Zeile, hier Amarok.<br />
<br />
== Spickzettel und Beispiele ==<br />
qdbus org.mpris.amarok /amarok/MainWindow showNormal #öffnet ein Amarok Fenster<br />
===MPRIS Media Player===<br />
Viele Mediaplayer lassen sich über die [https://www.freedesktop.org/wiki/Specifications/mpris-spec/ MPRIS] D-Bus-Schnittstelle ansteuern. Als Beispiel dient hier Spotify.<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next<br />
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous<br />
<br />
* [https://www.freedesktop.org/wiki/Software/dbus/ freedesktop.org dbus] {{sprache|en}}<br />
* [http://doc.qt.io/qt-5/qtdbus-index.html Qt D-bus] {{sprache|en}}<br />
* [http://linux-commands-examples.com/qdbus linux-commands-examples qdbus] {{sprache|en}}<br />
<br />
[[cs:D-Bus]]<br />
[[es:D-Bus]]<br />
[[ja:D-Bus]]<br />
[[ko:D-Bus]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=KDE&diff=19503KDE2017-04-12T07:22:11Z<p>Boenki: /* Pakete */ Vorlage:Paket</p>
<hr />
<div>{{righttoc}}<br />
Das "'''K Desktop Environment'''" (KDE) stellt folgende Komponenten zur Verfügung. <br />
<br />
* [[Plasma|KDE Plasma 5]] - Die grafische Arbeitsumgebung<br />
* KDE Applications - Anwenderprogramme<br />
* KDE Frameworks - Runtime und Bibliotheken <br />
<br />
KDE Software wird mit C++ und Qt entwickelt wobei jede der Komponenten ihrem eigenen Entwicklungszyklus folgt.<br />
KDE Plasma und Framework sind in der 5. Hauptversion. Die KDE Applications liegen in der 16. Version vor.<br />
<br />
== KDE Plasma 5 ==<br />
Für [[Plasma|'''Plasma 5''']] gibt es einen gesonderten Artikel in der deutschen Arch Wiki.<br />
<br />
== KDE Applications ==<br />
KDE ist eine der größten unabhängigen Entwicklergemeinschaft für Free and Libre Open Sorce Software (FLOSS) und bietet ein reichhaltiges Programmangebot.<br />
Einen Überblick über die Anwendungen erhält man am Besten auf der Seite [https://www.kde.org/applications/ KDE - Applications] {{sprache|en}}.<br />
<br />
=== Pakete ===<br />
Die Pakete gliedern sich nach den Anwendungsgebieten der Programme und befinden sich im extra und community Repositorium.<br />
<br />
{{Paket|kde-meta-kdeaccessibility}} Eingabehilfen<br />
<br />
{{Paket|kde-meta-kdeadmin}} Administration<br />
<br />
{{Paket|kde-meta-kdebase}} Basisanwendungen<br />
<br />
{{Paket|kde-meta-kdeedu}} Bildung<br />
<br />
{{Paket|kde-meta-kdegames}} Spiele<br />
<br />
{{Paket|kde-meta-kdegraphics}} Graphik<br />
<br />
{{Paket|kde-meta-kdemultimedia}} Multimedia<br />
<br />
{{Paket|kde-meta-kdenetwork}} Netzwerk<br />
<br />
{{Paket|kde-meta-kdepim}} Persöhnliche Kommunikation<br />
<br />
{{Paket|kde-meta-kdesdk}} Entwicklung<br />
<br />
{{Paket|kde-meta-kdeutils}} Werkzeuge<br />
<br />
{{Paket|kde-meta-kdewebdev}} Webentwicklung<br />
<br />
=== PIM ===<br />
Die Anwendung '''Kontact''' integriet als Personal Informations Mangement eine Auswahl einzelner unabhängiger Programme zu einer funktionellen Einheit.<br />
Durch den Datenbankserver Akonadi können sie gegenseitig auf ihre Daten zugreifen.<br />
Die Anwendungen werden unabhängig von einander installiert und sind jeweils auch einzeln nutzbar.<br />
<br />
Diese Programme können in Kontact genutzt werden:<br />
<br />
* Akregator - Newsfeed Reader<br />
* KAddressBook - Adressbuch<br />
* KJots - Notizbuch<br />
* KMail - E-Mail Client<br />
* KNode - Usenet Reader<br />
* KNotes - Notiz Zettel<br />
* KOrganizer - Terminkalender <br />
* TimeTracker - Zeittracker<br />
* Summary - Übersicht<br />
<br />
=== Akonadi ===<br />
Die Programme der PIM Anwendung sind auf Akonadi zwingend angewiesen. Einige der Plasma-Widgets wie z.B. die Digitaluhr verwenden ebenfalls Akonadi.<br />
Ist die Akonadi Datenbank beschädigt kann auch z.B. kmail nicht mehr laufen.<br />
Hier kann es helfen die Datenbank von Akonadi zu löschen.<br />
Da die Akonadi Datenbank lediglich Kopien der original Daten beherbergt, gehen hierdurch keine Daten verloren.<br />
<br />
Stoppen von Akonadi (Achtung: Dieser Vorgang dauert einige Zeit)<br />
<br />
akonadictl stop<br />
<br />
Status prüfen von Akonadi, ob dieser auch wirklich beendet wurde<br />
<br />
akonadictl status<br />
<br />
Löschen der Akonadi Datenbank(en)<br />
<br />
rm -rf $HOME/.local/share/akonadi/db_data<br />
<br />
Neue Datenbank anlegen (Akonadi verwendet das MySQL-Datenbank-Format als Standard)<br />
<br />
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data --basedir=/usr<br />
<br />
Starten von Akonadi<br />
<br />
akonadictl restart<br />
<br />
== Siehe auch ==<br />
* [[Plasma]]<br />
<br />
== Weblinks ==<br />
* [http://www.kde.org KDE - Homepage] {{sprache|en}}<br />
* [http://kde-look.org/ KDE - Look.org] {{sprache|en}}<br />
* [http://www.kde-forum.de Das deutschsprachige KDE-Forum] {{sprache|de}}<br />
* [http://de.wikipedia.org/wiki/K_Desktop_Environment KDE auf Wikipedia.org] {{sprache|de}}<br />
<br />
[[Kategorie:Desktopumgebung]]<br />
[[Kategorie:Qt]]<br />
[[en:KDE]]<br />
[[ar:KDE]]<br />
[[cs:KDE]]<br />
[[es:KDE]]<br />
[[fa:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE Masaüstü Ortamı]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Vivaldi&diff=19479Vivaldi2017-04-07T22:22:05Z<p>Boenki: Kleinigkeiten</p>
<hr />
<div>Vivaldi ist ein Internet Browser von ehemaligen Opera Mitarbeitern. Es basiert auf [[Chromium]] und legt seinen Fokus auf Personalisierung.<br />
<br />
<br />
== Installation ==<br />
Vivaldi kann aus dem [[Arch User Repository|AUR]] installiert werden und es stehen 3 Versionen zur Verfügung:<br />
{{AUR|vivaldi}}<br />
{{AUR|vivaldi-beta}}<br />
{{AUR|vivaldi-snapshot}}.<br />
Alternativ kann auch das [http://repo.herecura.eu Herecura Repository] verwendet werden.<br />
<br />
==Media playback==<br />
Für den Support für mehr Audio und Video Formate, kann man aus dem AUR für seine Vivaldi Version folgendes installieren: {{AUR|vivaldi-ffmpeg-codecs}}, {{AUR|vivaldi-beta-ffmpeg-codecs}} or {{AUR|vivaldi-snapshot-ffmpeg-codecs}}.<br />
<br />
Für Flash Medien wird {{AUR|pepper-flash}} benötigt.<br />
Für geschützte Inhalte wie bei Netflix wird zusätzlich noch {{AUR|vivaldi-widevine}} benötigt. <br />
<br />
==Extensions==<br />
Vivaldi ist kompatibel mit den meisten Chrome Erweiterungen und können direkt über dessen [https://chrome.google.com/webstore/category/extensions?hl=de Chrome Web Store] installiert werden.<br />
<br />
==GNOME Integration==<br />
Damit [[GNOME]] über Vivaldi mit der [https://extensions.gnome.org/ GNOME Extensions Webseite] kommunizieren kann, kann [[AUR|chrome-gnome-shell-git]] aus dem AUR installiert werden, so kann man bequem über Vivaldi GNOME Extensions installieren und verwalten. <br />
<br />
==Weblinks==<br />
[http://vivaldi.com/ Offizielle Homepage]<br />
[[Kategorie:Browser]]<br />
[[en:Vivaldi]]<br />
[[ja:Vivaldi]]<br />
[[ru:Vivaldi]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Automatische_Sicherung_(Beispiel)&diff=19445Automatische Sicherung (Beispiel)2017-04-03T17:59:33Z<p>Boenki: +Link</p>
<hr />
<div>{{righttoc}}<br />
Dies ist Beispiel und Anleitung für ein automatisches, rotierendes und inkrementelles Backup.<br />
Das hier verwendete Skript von Mike Rubbel baut auf dem [[rsync]] Befehl auf und sichert die Daten von /home.<br />
[[Systemd/Timers]] werden genutzt um das Backup täglich, wöchentlich und monatlich automatisch vorzunehmen.<br />
<br />
Das Skript entstand 2004 und fand so viel Anklang, dass es in Perl übersetzt wurde und als [[rsnapshot]] Einzug in den Befehlspool von Linux hielt.<br />
Wer den Befehl diesem Skript vorzieht, kann auch diesen benutzen. Das Endergebnis dürfte jedoch gleich sein da beide rsync zum Speichern der Dateien einsetzen.<br />
<br />
{{Hinweis|Da die Sicherung auf einer lokalen Festplatte stattfindet, kann sie weder bei Feuer noch bei einem Einbruch vor Datenverlust schützen.<br />
Auch wenn bislang Schädlinge mit Administrationsrechten auf Linux sehr unwahrscheinlich sind, muss hier auf diese Gefahr hingewiesen werden.}}<br />
<br />
Als Backup im privaten Bereich leistet es aber gute Dienste.<br />
Durch das automatische Sichern stellen Festplattendefekte und versehentliches Löschen keine Gefahr mehr da.<br />
Durch das rotierende Verfahren hat man die Möglichkeit, auf mehrere gesicherte Dateiversionen zuzugreifen.<br />
Trotzdem bleibt die Datenmenge gering. Rsync speichert die Daten jeweils nur einmal physisch ab und erstellt die einzelnen Schichten mittels Hardlinks.<br />
Da die Daten nur ein mal kopiert werden, ist die Geschwindigkeit des backups hervorragend.<br />
<br />
== Anleitung ==<br />
<br />
=== Die Sicherungs-Festplatte ===<br />
Der Sicherungs-Datenträger sollte fest in den Rechner verbaut werden. Bei externen Datenträgern empfiehlt es sich, nach einem Mounten des Datenträgers, die Sicherung manuell auszulösen. <br />
Der Datenträger sollte ausreicht groß sein. Als Format eignet sich ext4. Fat Systeme unterstützen keine Hardlinks.<br />
Die folgenden Schritte sind als Beispiel zu verstehen. Auch kann statt der hier verwendeten Konsolenbefehlen zur Datenträgereinbindung, mit den GUI Programmen Gparted bzw. KDE Partitionsverwaltung gearbeitet werden.<br />
<br />
==== Partitionieren ====<br />
$ sudo fdisk -l #listet alle Datenträger auf. Hier muss man sich den betreffenden Laufwerksbuchstaben einprägen.<br />
<br />
Bei den folgenden Befehl muss jeweils das X durch den Laufwerksbuchstaben der Sicherung-Festplatte ersetzt werden.<br />
$ sudo fdisk /dev/sdX<br />
m #listet alle Optionen auf<br />
d #löscht provisorisch eine Partition. Bitte solange wiederholen bis alle vorhandenen Partitionen gelöscht sind.<br />
n #Erstellt provisorisch eine neue Partition<br />
hier alle Vorgaben mit [Return] bestätigen<br />
J/N N eingeben <br />
w #Schreibt alle Änderungen. Ab hier gibt es keinen Weg mehr zurück. Eine neue Partitionenstabelle wird erstellt.<br />
<br />
(Sollte man sich einmal verlaufen haben, kann man mit q jederzeit den fdisk Befehl abbrechen.)<br />
<br />
==== Formatieren ====<br />
<br />
$ sudo mkfs.ext4 /dev/sdX1 #Die erste Partition auf sdX wird mit ext4 formatiert.<br />
<br />
==== Benennen ====<br />
<br />
$ sudo e2label /dev/sdX1 SICHERUNG #Der Datenträger erhält das Label SICHERUNG<br />
<br />
==== Festplatte Einhängen ====<br />
<br />
$ sudo mkdir /SICHERUNG #Das Verzeichnis anlegen.<br />
<br />
$ sudoedit etc/fstab<br />
und hier folgendes einfügen:<br />
/dev/sdX1 /SICHERUNG ext4 defaults 0 0<br />
(Die Leerzeichen sind Tabs)<br />
$ sudo mount /dev/sdX1 #Die Festplatte wird mit dem Namen SICHERUNG eingebunden.<br />
<br />
=== Das Backup Skript ===<br />
<br />
Falls auf dem System noch nicht vorhanden, wird rsync installiert.<br />
$ sudo pacman -S rsync<br />
<br />
Das folgende Skript wird kopiert und als {{ic|snapshot.sh}} z.B. in {{ic|~/.scripts/}} abgespeichert. Mit einem {{ic|chmod a+rx ~/.scripts/snapshot.sh}} wird es ausführbar gemacht.<br />
Die ''CUSTOMIZING SECTION'' im Skript sollte auf die eigenen Gegebenheiten angepasst werden.<br />
<br />
Die Datei {{ic|snapshot_exclude.txt}} wird ebenfalls kopiert und nach {{ic|~/.scripts/}} abgespeichert.<br />
Alle in der snapshot_exclude.txt gelisteten Dateien und Verzeichnisse werden von einer Sicherung ausgeschlossen.<br />
<br />
Danach kann mit folgendem Befehl die Funktion überprüft werden. Das Argument {{ic|-d}} erstellt ein tägliches Backup. Das Backup wird mit Rootrechten ausgeführt.<br />
$ sudo ~/scripts/snapshot.sh -d<br />
<br />
Bei einem erneuten Aufruf des Befehls erhöht sich der Zähler der jeweils vorangegangenen Sicherungen um 1. Eine dayly.0 Sicherung wird z.B.: in dayly.1 umbenannt, und eine neue dayly.0 Sicherung angelegt. Bei der Angabe von DAYS=6 in der ''CUSTOMIZING SECTION''; wird jeweils die 7. Sicherung gelöscht, bevor eine neue dayly.0 angelegt wird. <br />
Die wöchentlichen und monatlichen Snapshots werden mit {{ic|sudo ~/.scripts/snapshot.sh -w}} bzw {{ic|sudo ~/.scripts/snapshot.sh -m}} ausgelößt.<br />
Dabei wird keine neue Sicherung veranlasst, sondern lediglich, und auch nur dann wenn die Anzahl der täglichen Sicherungen komplettiert ist, die älteste der dayly Sicherungen als weekly.0 kopiert und somit archiviert. Die weekly und monthly backups rotieren in der gleichen Weise wie die daylys.<br />
<br />
Das Skript<br />
<nowiki>#!/bin/bash<br />
## Datei ~/.scripts/snapshot.sh<br />
##<br />
##<br />
## Mike Rubel 2004.01.04 (http://www.mikerubel.org/computers/rsync_snapshots/)<br />
##<br />
## License:<br />
## LGPL <br />
##<br />
## Disclaimer:<br />
## Use this software on your own risk, it works for me but there<br />
## are no guaranties at all<br />
## ----------------------------------------------<br />
##<br />
## make_snapshotLC: <br />
## Backup Script based on rsync<br />
## It creates Generation Backups for the levels daily, weekly and montly<br />
##<br />
## Version:<br />
## 0.3<br />
##<br />
## Synopsis:<br />
## make_snapshotLC [OPTIONS]<br />
##<br />
## Description:<br />
## This script was adopted from Mike Rubels documentation from<br />
## http://www.mikerubel.org/computers/rsync_snapshots/<br />
## Based on Mikes handy rotating-filesystem-snapshot utility.<br />
## The basic idea is it makes rotating backup-snapshots of /home whenever called<br />
## A few elements came from<br />
## http://www.heinlein-support.de/web/support/wissen/rsync-backup/<br />
## An exclude list avoids to backup superflous files.<br />
##<br />
## Changes:<br />
## Instead of hourly, daily and weekly snapshots, daily, weekly and monthly <br />
## snapshots are used.<br />
## Checking the available space on backup media<br />
## Free configurable number of snapshots for every single level<br />
## Everything packed into one script<br />
##<br />
## Options:<br />
## -d make the daily backup plus rotate<br />
## -w make the weekly backup<br />
## -m make the monthly backup<br />
## -h displays a short help text<br />
## <br />
## Changelog:<br />
## --------<br />
########################################################################<br />
<br />
unset PATH # suggestion from H. Milz: avoid accidental use of $PATH<br />
<br />
# ------------- System Commands used by this script --------------------<br />
ID=/usr/bin/id;<br />
ECHO=/bin/echo;<br />
MOUNT=/bin/mount;<br />
RM=/bin/rm;<br />
MV=/bin/mv;<br />
CP=/bin/cp;<br />
TOUCH=/bin/touch;<br />
RSYNC=/usr/bin/rsync;<br />
DF=/bin/df;<br />
TAIL=/usr/bin/tail;<br />
SED=/bin/sed;<br />
SYNC=/bin/sync;<br />
LOGGER=/usr/bin/logger;<br />
CHMOD=/bin/chmod;<br />
MKDIR=/bin/mkdir;<br />
<br />
# ======================= CUSTOMIZING SECTION ==========================<br />
MOUNT_DEVICE=/dev/sdX1; # Your Mount device - Ziel<br />
MOUNT_RO=true; # For write protection set to true<br />
SNAPSHOT_RW=/SICHERUNG/; # where to store the backups - Ziel-Ordner<br />
EXCLUDES=/home/<user>.scripts/snapshot_exclude.txt; # Create the backup_exclude file first!<br />
CHECK_HDMINFREE=true; # Check free space<br />
HDMINFREE=90; # Make a backup up to this percentage<br />
DAYS=6; # Number of daily backups -1<br />
WEEKS=3; # Number of weekly backups -1<br />
MONTHS=3; # Number of monthly backups -1<br />
# ======================================================================<br />
<br />
# Make sure we're running as root<br />
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root. Exiting..."; exit; } fi<br />
<br />
# Check Argument<br />
if [ $# != 1 ] ; then { $ECHO "Error: Wrong number of arguments. \<br />
#Vaild is one out of -d, -w, -m, -h" ; exit; } fi<br />
<br />
# Check Customization<br />
if ! [ -b $MOUNT_DEVICE ] ; then { $ECHO "Error: Mount device $EXCLUDES isn't valid" ; exit; } fi<br />
if ! [ -d $SNAPSHOT_RW ] ; then $MKDIR -p $SNAPSHOT_RW; fi<br />
if ! [ -f $EXCLUDES ] ; then { $ECHO "Error: Exclude File $EXCLUDES missing" ; exit; } fi<br />
<br />
# Check free space on disk<br />
GETPERCENTAGE='s/.* \([0-9]\{1,3\}\)%.*/\1/';<br />
if $CHECK_HDMINFREE ; then<br />
KBISFREE=`$DF /$SNAPSHOT_RW | $TAIL -n1 | $SED -e "$GETPERCENTAGE"`<br />
if [ $KBISFREE -ge $HDMINFREE ] ; then<br />
$ECHO "Error: Not enough space left for rotating backups!"<br />
$LOGGER "Error: Not enough space left for rotating backups!"<br />
exit<br />
fi<br />
fi<br />
<br />
# ------------- The Script itself --------------------------------------<br />
<br />
if $MOUNT_RO ; then<br />
# Attempt to remount the RW mount point as RW; else abort<br />
$MOUNT -o remount,rw $MOUNT_DEVICE $SNAPSHOT_RW ;<br />
if (( $? )); then<br />
$ECHO "Error: could not remount $SNAPSHOT_RW readwrite";<br />
exit;<br />
fi;<br />
fi;<br />
<br />
<br />
case $1 in<br />
# *********** Daily Backups ********************************************<br />
-d | -D) $ECHO "Starting Daily Backup..."<br />
# Rotating daily snapshots of /home <br />
<br />
# Step 1: Delete the oldest snapshot, if it exists:<br />
# It is NOT moved to the weekly backups level since you can make hundreds of daily backups<br />
if [ -d $SNAPSHOT_RW/daily.$DAYS ] ; then<br />
$RM -rf $SNAPSHOT_RW/daily.$DAYS ;<br />
fi;<br />
<br />
# Step 2: Shift all other snapshots(s) by one, if they exist (e.g. 6->7...1->2)<br />
OLD=$DAYS;<br />
while [ $OLD -ge 2 ] ; do<br />
OLD=$[$OLD-1]<br />
if [ -d $SNAPSHOT_RW/daily.$OLD ] ; then<br />
NEW=$[ $OLD + 1 ]<br />
# Save date<br />
$TOUCH $SNAPSHOT_RW/.timestamp -r $SNAPSHOT_RW/daily.$OLD<br />
$MV $SNAPSHOT_RW/daily.$OLD $SNAPSHOT_RW/daily.$NEW<br />
# Restore date<br />
$TOUCH $SNAPSHOT_RW/daily.$NEW/.timestamp \<br />
-r $SNAPSHOT_RW/.timestamp<br />
fi;<br />
done<br />
<br />
# Step 3: make a hard-link-only (except for dirs) copy of the latest snapshot,<br />
# If that exists 0->1<br />
if ! [ -d $SNAPSHOT_RW/daily.0 ] ; then<br />
$MKDIR -p $SNAPSHOT_RW/daily.0<br />
$TOUCH $SNAPSHOT_RW/daily.0/.timestamp<br />
else<br />
$CP -al $SNAPSHOT_RW/daily.0 $SNAPSHOT_RW/daily.1 ;<br />
fi;<br />
<br />
# Step 4: rsync from the system into the latest snapshot (notice that<br />
# rsync behaves like cp --remove-destination by default, so the destination<br />
# is unlinked first. If it were not so, this would copy over the other<br />
# snapshot(s) too!<br />
$RSYNC \<br />
-va --delete --delete-excluded \<br />
--exclude-from="$EXCLUDES" \<br />
/home $SNAPSHOT_RW/daily.0 ;<br />
<br />
# Check return code<br />
# 0 = ok, <br />
# 24 is also ok. It appears if files were changed or deleted while this script runs<br />
# Other return codes are Error -- see man (1) rsync<br />
if ! [ $? = 24 -o $? = 0 ] ; then<br />
$ECHO "Error: rsync finished on $MOUNT_DEVICE with errors!"<br />
$LOGGER "Error: rsync finished on $MOUNT_DEVICE with errors!"<br />
fi;<br />
<br />
# Step 5: update the mtime of daily.0 to reflect the snapshot time<br />
$TOUCH $SNAPSHOT_RW/daily.0 ;<br />
<br />
# Finished!<br />
$ECHO "Finished rsync backup on $MOUNT_DEVICE..."<br />
$LOGGER "Finished rsync backup on $MOUNT_DEVICE..."<br />
<br />
# For beeing on the secure site...<br />
$SYNC;;<br />
<br />
# And thats it for home.<br />
<br />
# *********** Weekly Backup ********************************************<br />
-w | -W)$ECHO "Starting Weekly Backup..."<br />
<br />
# Step 1: Delete the oldest snapshot, if it exists<br />
if [ -d $SNAPSHOT_RW/weekly.$WEEKS ] ; then<br />
$RM -rf $SNAPSHOT_RW/weekly.$WEEKS ;<br />
fi;<br />
<br />
# Step 2: shift the middle snapshots(s) by one, if they exist 3->4 ..0->1<br />
OLD=$WEEKS;<br />
while [ $OLD -ge 1 ] ; do<br />
OLD=$[$OLD-1]<br />
if [ -d $SNAPSHOT_RW/weekly.$OLD ] ; then<br />
NEW=$[ $OLD + 1 ]<br />
$MV $SNAPSHOT_RW/weekly.$OLD $SNAPSHOT_RW/weekly.$NEW ;<br />
fi;<br />
done<br />
<br />
# Step 3: Make a hard-link-only (except for dirs) copy of<br />
# daily.(max), assuming that exists, into weekly.0<br />
if [ -d $SNAPSHOT_RW/daily.$DAYS ] ; then<br />
$CP -al $SNAPSHOT_RW/daily.$DAYS $SNAPSHOT_RW/weekly.0 ;<br />
fi;;<br />
<br />
# *********** Monthly Backup *******************************************<br />
-m | -M)$ECHO "Starting Monthly Backup..."<br />
<br />
# Step 1: Delete the oldest snapshot, if it exists<br />
if [ -d $SNAPSHOT_RW/monthly.$MONTHS ] ; then<br />
$RM -rf $SNAPSHOT_RW/monthly.$MONTHS ;<br />
fi;<br />
<br />
# Step 2: Shift the middle snapshots(s) by one, if they exist 6->7 ..0->1<br />
OLD=$MONTHS;<br />
while [ $OLD -ge 1 ] ; do<br />
OLD=$[$OLD-1]<br />
if [ -d $SNAPSHOT_RW/monthly.$OLD ] ; then<br />
NEW=$[ $OLD + 1 ]<br />
$MV $SNAPSHOT_RW/monthly.$OLD $SNAPSHOT_RW/monthly.$NEW ;<br />
fi;<br />
done<br />
<br />
# Step 3: Make a hard-link-only (except for dirs) copy of<br />
# weekly.(max), assuming that exists, into monthly.0<br />
if [ -d $SNAPSHOT_RW/weekly.$WEEKS ] ; then<br />
$CP -al $SNAPSHOT_RW/weekly.$WEEKS $SNAPSHOT_RW/monthly.0 ;<br />
fi;;<br />
<br />
-h | -H)$ECHO "Usage:<br />
make_snapshot -d Initiates daily backup<br />
make_snapshot -w Initiates weekly backup<br />
make_snapshot -m Initiates monthly backup<br />
make_snapshot -h Displays this text."; exit;;<br />
<br />
*) $ECHO "Error: Wrong argument. Vaild is one out of -d, -w, -m, -h" ; exit;;<br />
<br />
esac<br />
<br />
$ECHO "Backup ended"<br />
if $MOUNT_RO ; then<br />
# Now remount the RW snapshot mountpoint as readonly<br />
$MOUNT -o remount,ro $MOUNT_DEVICE $SNAPSHOT_RW ;<br />
if (( $? )); then <br />
$ECHO "Error: Could not remount $SNAPSHOT_RW readonly";<br />
exit;<br />
fi;<br />
fi;<br />
</nowiki><br />
<br />
<nowiki><br />
## Datei ~/.scripts/snapshot_exclude.txt<br />
##<br />
/home/<user>/.cache/<br />
/home/<user>/.kodi/<br />
/home/<user>/.local/share/<br />
/home/<user>/.mediathek3/<br />
/home/<user>/.mozilla/<br />
/home/<user>/.tor-browser-de/<br />
/home/<user>/.tvbrowser/<br />
/home/<user>/Videos/<br />
</nowiki><br />
<br />
=== Die Service-Units erstellen ===<br />
<nowiki># Datei /etc/systemd/system/snapshot-d.service<br />
<br />
[Unit]<br />
Description=snapshot dayly.service<br />
<br />
[Service]<br />
ExecStart=/home/<user>/.scripts/snapshot.sh -d<br />
</nowiki><br />
<br />
Für die wöchentliche und monatliche Sicherung brauchen wir noch entsprechende snapshot-w.service und snapshot-m.service Dateien.<br />
Das -d im der ExecStart= Option ist durch ein -w bzw. -m zu ersetzen. Bei Description= ist weekly bzw. monthly einzusetzen. Alle .service Dateien und auch die nachfolgenden .timer Dateien werden mit Rootrechten nach /etc/systemd/system/ gespeichert.<br />
<br />
=== Die Timer-Units erstellen ===<br />
<nowiki># Datei /etc/systemd/system/snapshot-d.timer<br />
<br />
[Unit]<br />
Description=snapshot dayly.timer<br />
<br />
[Timer]<br />
OnBootSec=30min<br />
OnUnitInactiveSec=1day<br />
RandomizedDelaySec=60<br />
Persistent=true<br />
<br />
[Install]<br />
WantedBy=basic.target<br />
</nowiki><br />
Auch hier bedarf es einer weiteren Datei für den wöchentlich und auch einer weiteren Datei für den monatlichen Timer.<br />
Die Dateien werden entsprechend benannt, dem OnUnitInactiveSec= wird der Wert 1week bwz. 1month zugewiesen.<br />
<br />
=== Die Timer aktivieren ===<br />
systemctl enable --now snapshot-d.timer<br />
systemctl enable --now snapshot-w.timer<br />
systemctl enable --now snapshot-m.timer<br />
<br />
== Siehe auch ==<br />
*[[rsync]]<br />
*[[Rsnapshot]]<br />
*[[Backups]]<br />
*[[sudoedit]]<br />
*[[Systemd/Timers]]<br />
*[[Beispiel_eines_vollautomatisierten_Backups]]<br />
<br />
=== Weblinks ===<br />
*[http://www.mikerubel.org/computers/rsync_snapshots/ Mike Rubel rsync_snapshots] {{sprache|en}}<br />
*[http://rsnapshot.org/ rsnapshot.org] {{sprache|en}}<br />
*[https://wiki.ubuntuusers.de/rsnapshot/ rsnapshot Ubuntuuser] {{sprache|de}}<br />
*[https://wiki.archlinux.org/index.php/Synchronization_and_backup_programs Backup Programs] ArchWiki {{sprache|en}}<br />
<br />
[[Kategorie:Systemverwaltung]]<br />
[[Kategorie:Services]]<br />
[[Kategorie:Tipps und Tricks]]<br />
[[Kategorie:Scripte]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Arch_in_den_Medien&diff=19375Arch in den Medien2017-03-26T22:40:24Z<p>Boenki: /* Zeitlos */</p>
<hr />
<div>{{unvollständig}}<br />
<br />
Hier sammeln wir Meldungen und Meinungen der (Deutschen) Medien über Arch:<br />
<br />
==Zeitlos==<br />
* [http://de.wikipedia.org/wiki/Arch_Linux Wikipedia]<br />
* [https://www.youtube.com/watch?v=IIkHpjhpSyA ArchLinux - Succeeding on the Bleeding Edge] - Vortrag von Allan McRae auf der Sinfo20, Lissabon, 2013.<br />
[[en:ArchLinux:Press Coverage]]<br />
[[Kategorie:Arch-Linux-Projekte]]<br />
<br />
==2017==<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-verabschiedet-sich-von-32-Bit Linux-Magazin] Arch-Linux verabschiedet sich von 32-Bit<br />
* [http://www.pro-linux.de/news/1/24392/arch-linux-stellt-i686-offiziell-ein.html Pro-Linux] Arch Linux stellt i686 offiziell ein<br />
<br />
==2016==<br />
* [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2016/01 LinuxUser 01/2016] Sonderheft zu ArchLinux und seinen Derivaten<br />
* [http://www.pro-linux.de/artikel/2/1823/pacman-der-paketmanager-von-arch-linux.html Pro-Linux] Pacman - Der Paketmanager von Arch Linux<br />
<br />
==2015==<br />
* [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2015/09/Guten-Appetit LinuxUser 09/2015] Paketverwaltung mit Pacman und AUR<br />
* [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2015/01/Schnell-gekontert/(language)/ger-DE LinuxUser 01/2015] Schnell gekontert - Konflikte bei Pacman-Updates auflösen<br />
<br />
==2013==<br />
* [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2013/09/Pakete-fuer-Arch-Linux-im-Eigenbau/(language)/ger-DE Linux-Community] Pakete für Arch Linux im Eigenbau<br />
<br />
==2012==<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-2012.07.15-bringt-neues-Installationsverfahren Linux-Magazin] Arch Linux 2012.07.15 bringt neues Installationsverfahren<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-fuer-Blinde-aktualisiert Linux-Magazin] Arch Linux für Blinde aktualisiert<br />
* [http://www.heise.de/open/meldung/Arch-Linux-2012-07-15-ist-fertig-1649893.html Heise] Arch Linux 2012.07.15 ist fertig<br />
<br />
==2011==<br />
* [http://www.pro-linux.de/news/1/17406/arch-linux-installationsmedien-in-version-20110819.html Pro-Linux] Arch Linux-Installationsmedien in Version 2011.08.19<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-2011.08.19-Neue-Installationsmedien Linux-Magazin] Arch Linux 2011.08.19: Neue Installationsmedien<br />
* [http://www.golem.de/1108/85891.html golem.de] Arch-Linux-Medien mit 3.0-Kernel<br />
* [http://www.heise.de/open/meldung/Neue-ArchLinux-Version-1327305.html Heise] Neue ArchLinux-Version<br />
* [http://derstandard.at/1313024891023/Distributionsreigen-Arch-Linux-20110819-veroeffentlicht derstandard] Arch Linux 2011.08.19 veröffentlicht<br />
<br />
==2010==<br />
* [http://www.linux-magazin.de/Heft-Abo/Ausgaben/2010/09/Frische-Ware Linux-Magazin] Frische Ware (wird auch erscheinen im Linux-Magazin 2010/09)<br />
<br />
==2010==<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-Snapshot-2010.05-bringt-PXE-und-Virtio linux-magazin] Arch Linux Snapshot 2010.05 bringt PXE und Virtio<br />
* [http://www.pro-linux.de/news/1/15686/arch-linux-201005.html Pro-Linux] Arch Linux 2010.05<br />
* [http://www.heise.de/open/meldung/Arch-Linux-2010-05-mit-verbessertem-Installer-1002137.html Heise] Arch Linux 2010.05 mit verbessertem Installer<br />
<br />
==2009==<br />
* [http://www.linux-magazin.de/NEWS/Arch-Linux-2009.08-mit-neuem-Installer linux-magazin] Arch Linux 2009.08 mit neuem Installer <br />
* [http://www.heise.de/open/Neue-Installations-Images-fuer-Arch-Linux--/news/meldung/143291 Heise] Neue Installations-Images für Arch Linux<br />
* [http://www.tecchannel.de/pc_mobile/news/1818880/linux_distribution_arch_linux_200902_steht_bereit/ tecchannel] Linux-Distribution Arch Linux 2009.02 steht bereit<br />
* [http://www.pro-linux.de/news/2009/13814.html Pro-Linux] Archlinux 2009.02 freigegeben<br />
* [http://www.heise.de/open/Arch-Linux-2009-02--/news/meldung/132693 Heise] Ankündigung der Installationsmedien 2009.02<br />
* [http://derstandard.at/?id=1234507285848 derstandard] Arch Linux 2009.02 veröffentlicht<br />
* [http://www.linux-magazin.de/news/arch_linux_mit_ext_4 linux-magazin] Arch Linux mit Ext 4<br />
<br />
==2008==<br />
* [http://freiesmagazin.de/mobil/freiesMagazin-2008-12-bilder.html#08_12_eeepc-archlinux freiesMagazin 12/2008] Arch Linux auf dem Asus Eee PC 901<br />
* YALM: Distri-Special: ArchLinux<br />
* [http://www.freiesmagazin.de/mobil/freiesMagazin-2008-10-bilder.html#08_10_ubuntu-vs-arch freiesMagazin 10/2008] Ubuntu versus Arch Linux - ein Vergleich<br />
* [http://archiv.radiotux.de/interviews/2008-08-23.RadioTux.Pierre.Schmitz.Thomas.Baechler.archlinux.mp3 Interview] über Archlinux auf radiotux.de mit Pierre Schmitz und Thomas Bächler<br />
* [http://futurezone.orf.at/hardcore/stories/288773 futurezone.ORF.at] - Arch Linux 2008.06 freigegeben<br />
* [http://www.pro-linux.de/news/2008/12857.html Pro-Linux] - Arch Linux 2008.06 freigegeben <br />
<br />
==2007==<br />
* [http://www.pro-linux.de/news/2007/11890.html Pro-Linux] - Arch Linux mit neuem Projektleiter<br />
* [http://www.pro-linux.de/news/2007/11829.html Pro-Linux] - Arch Linux 2007.08-2 "Don't Panic" freigegeben<br />
* [http://www.linux-magazin.de/news/arch_linux_und_zenwalk_in_neuauflage?category=0 Linux-Magazin] Arch Linux und Zenwalk in Neuauflage<br />
* [http://www.pro-linux.de/news/2007/11555.html Pro-Linux] - Arch Linux 2007.08 fertiggestellt<br />
* [http://www.linux-user.de/ausgabe/2007/07/905-dvd-arch/ Linux-User] - Arch Linux: Installation und Konfiguration<br />
* [http://www.linux-magazin.de/news/arch_linux_2007_5_duke_ist_fertig Linux-Magazin] Arch Linux 2007.5 "Duke" ist fertig<br />
* [http://www.pro-linux.de/news/2007/11220.html Pro-Linux] - Arch Linux 2007.05 fertiggestellt<br />
* [http://www.pro-linux.de/berichte/archlinux-0.8.html Pro-Linux] - Erfahrungsbericht Arch Linux 0.8<br />
* [http://www.pro-linux.de/news/2007/11033.html Pro-Linux] - Arch Linux 0.8 (Voodoo) fertiggestellt<br />
* [http://www.linux-magazin.de/news/archlinux_erscheint_in_version_0_8 Linux-Magazin] - Archlinux erscheint in Version 0.8<br />
* [http://www.tecchannel.de/news/themen/linux/466414/index.html tecCHANNEL] - Linux: Voodoo ist fertig<br />
* [http://www.linux-abos.de/news/2007/04/02/arch-linux-08-voodoo-fertiggestellt/ Linux-Abos] - Arch Linux 0.8 (Voodoo) fertiggestellt<br />
<br />
==2006==<br />
* [http://www.tecchannel.de/pc_mobile/linux/454188/index2.html tecCHANNEL] - 32 Linux Distributionen für den Client-Einsatz<br />
* [http://www.tecchannel.de/server/linux/447420/index2.html tecCHANNEL] - 25 Linux Distributionen für den Server-Einsatz<br />
<br />
==2005==<br />
* [http://www.linux-user.de/ausgabe/2005/10/006-archlinux/index.html Linux-User] - Arch Linux: Einfache Handhabung, volle Flexibilität<br />
<br />
==2003==<br />
* [http://distrowatch.com/dwres.php?resource=interview-arch DistroWatch] - Interview mit Judd Vinet</div>Boenkihttps://wiki.archlinux.de/index.php?title=Systemd/Timers&diff=19356Systemd/Timers2017-03-24T22:29:15Z<p>Boenki: typos</p>
<hr />
<div>[[Kategorie:Systemverwaltung]]<br />
[[Kategorie:Services]]<br />
<br />
[[en:Systemd/Timers]]<br />
[[ja:Systemd/タイマー]]<br />
[[ru:Systemd/Timers]]<br />
{{righttoc}}<br />
Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Die Timer-Unit besteht aus einer {{ic|.timer}} Datei die eine {{ic|.service}} Datei ansteuert.<br />
Timer unterstehen [[systemd]] und müssen mit dem systemctl Befehl aktiviert werden. Eine Alternative hierzu bietet [[cron]].<br />
<br />
== Beispiel ==<br />
<br />
=== Die {{ic|.timer}} Datei ===<br />
<nowiki># Datei /etc/systemd/system/beispiel.timer<br />
<br />
[Unit]<br />
Description=Beispielaktion nach 1St 30Min<br />
<br />
[Timer]<br />
OnBootSec=1h 30m<br />
<br />
[Install]<br />
WantedBy=basic.target</nowiki><br />
<br />
=== Die {{ic|.service}} Datei ===<br />
<nowiki># Datei /etc/systemd/system/beispiel.service<br />
<br />
[Unit]<br />
Description=Beispiel Service<br />
<br />
[Service]<br />
ExecStart=/home/user/beispiel.sh</nowiki><br />
<br />
Dieses Beispiel stellt eine Minimalvariante der Dateien dar. Weitere Optionen siehe [[Systemd/Timers#Optionen]].<br />
<br />
Als [Service] kann ein Befehl oder ein ausführbares Script genutzt werden.<br />
<br />
Service- und Timerdatei werden mit root Rechten in /etc/systemd/system/ abgelegt und müssen vor dem . (Punkt) den gleichen Namen tragen.<br />
<br />
=== De-/Aktivierung ===<br />
systemctl enable --now beispiel.timer<br />
(Bei der ersten Initialisierung legt das System automatisch einen symlink /etc/systemd/system/basic.target.wants/ → /etc/systemd/system/ der {{ic|.timer}} Datei an.)<br />
<br />
Mit ''enable --now'' startet der Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist.<br />
<br />
Ohne ''--now'' werden ''enable oder disable'' erst nach einem reboot wirksam.<br />
<br />
Ein ''start oder stop'' wirkt sich nur auf die laufende Sitzung aus.<br />
<br />
systemctl reenable --now beispiel.timer<br />
Genügt damit eine nachträgliche Veränderung der Timer-Unit sofort wirksam wird.<br />
<br />
=== Management ===<br />
systemctl list-timers --all<br />
Listet alle Timer auf. Sollen nur die aktiven Timer angezeigt werden genügt ein ''systemctl list-timers''.<br />
<br />
<br />
Die folgenden Befehle können beim Debuggen helfen:<br />
systemctl status beispiel.timer<br />
<br />
journalctl -xe<br />
<br />
== Optionen ==<br />
Die folgende Auflistung der einzelnen Optionen für die Sektionen der {{ic|.timer}} und {{ic|.service}} Dateien will lediglich einen Überblick bieten.<br />
<br />
Für Details wird auf die jeweilige ''man page'' verwiesen.<br />
<br />
Nur die '''fettgedruckten Optionen sind Pflichtangaben ''' der betreffenden Sektion.<br />
<br />
=== Die [Unit] Sektion ===<br />
* '''Description=''' #Hier muss die Einheit beschrieben werden. Die Formulierung ist frei. Auch darf sie in der {{ic|.timer}} und {{ic|.service}} Datei unterschiedlich sein. Kurze, aussagefähige Beschreibungen sind hierbei vorzuziehen.<br />
* Documentation= #Eine URL kann hier angegeben werden.<br />
* Requires=, Requisite= #Weitere Units können hier angegeben werden.<br />
* Wants= #ein etwas weicheres Requires=<br />
* BindsTo= #Auch hier wird eine Unit angegeben. Fällt der service aus, weil z.B. ein device entfernt wurde, wird die Timer-Unit an der Ausführung gehindert. <br />
* PartOf= #beim Ausfall eines service stoppt die timer-unit. Jedoch ohne Auswirkungen auf die hier aufgeführten services. <br />
* Conflicts=<br />
* Before=, After= #legt die Start Reihenfolge von services fest.<br />
* OnFailure= #Ersatz-Units die bei Ausfall genutzt werden sollen.<br />
* PropagatesReloadTo=, ReloadPropagatedFrom= #ähndelt OnFailure=<br />
* JoinsNamespaceOf= #Nur wichtig wenn PrivateNetwork= oder PrivateTmp= eingesetzt wird.<br />
* RequiresMountsFor= #Überprüft ob devices auch gemountet sind.<br />
* OnFailureJobMode=fail, replace (default), replace-irreversibly, isolate, flush, ignore-dependencies, ignore-requirements #legt das Verhalten für OnFailure= fest. <br />
* IgnoreOnIsolate=true/false #default ist false. Bei true wird nicht mehr gestoppt bei Isolierung einer anderen Unit.<br />
* StopWhenUnneeded=true/false #default ist false. Steht im Zusammenhang mit Requires=. Bei true werden nicht mehr benötigte units deaktiviert.<br />
* RefuseManualStart=true/false, RefuseManualStop=true/false #default ist false. Ein Sicherheitstool. bei true wird die die explizite User Eingabe verlangt, bevor Units de/aktiviert werden können. <br />
* AllowIsolate=true/false #default ist false. Sinnvoll um ähnlich der runlevels in SysV init Systemen um unbestimmte Systemzustände zu vermeiden.<br />
* DefaultDependencies=true/false #Default ist true und stellt sicher, dass das System komplett hochgelaufen ist bevor die timer-unit gestartet wird.<br />
* JobTimeoutSec=, JobTimeoutAction=, JobTimeoutRebootArgument= #stellt bei gestaffelten Jobs ein time-out zur Verfügung.<br />
* StartLimitIntervalSec=, StartLimitBurst= #Als default werden 5 Ausführungen eines service innerhalb von 10 Sekunden zugestanden. Dieses Limit kann hier den speziellen Anforderungen angepasst werden.<br />
* StartLimitAction= #Ein Ersatzservice kann bestimmt werden falls das vereinbarte StartLimitIntervalSec=, StartLimitBurst= überschritten wird. <br />
* RebootArgument= #Optionales reboot.<br />
* ConditionArchitecture=, ConditionVirtualization=, ConditionHost=, ConditionKernelCommandLine=, ConditionSecurity=, ConditionCapability=, ConditionACPower=, ConditionNeedsUpdate=, ConditionFirstBoot=, ConditionPathExists=, ConditionPathExistsGlob=, ConditionPathIsDirectory=, ConditionPathIsSymbolicLink=, ConditionPathIsMountPoint=, ConditionPathIsReadWrite=, ConditionDirectoryNotEmpty=, ConditionFileNotEmpty=, ConditionFileIsExecutable= # Vorbedingung für die Ausführung der Unit.<br />
* AssertArchitecture=, AssertVirtualization=, AssertHost=, AssertKernelCommandLine=, AssertSecurity=, AssertCapability=, AssertACPower=, AssertNeedsUpdate=, AssertFirstBoot=, AssertPathExists=, AssertPathExistsGlob=, AssertPathIsDirectory=, AssertPathIsSymbolicLink=, AssertPathIsMountPoint=, AssertPathIsReadWrite=, AssertDirectoryNotEmpty=, AssertFileNotEmpty=, AssertFileIsExecutable= # Wie Condition...allerdings incl. ''logged loudly'' bei failure.<br />
* SourcePath= # Überprüft das Vorhandensein einer Datei. <br />
<br />
Genauere Auskunft gibt: {{ic|man systemd.unit}}<br />
<br />
=== Die [Timer] Sektion === <br />
Es können hier mehrere Zeitangaben gemacht werden. Mindestens '''eine Zeitangabe muss''' es in [Timer] geben.<br />
<br />
==== Absolute Zeitangaben ====<br />
* OnCalendar= #absolute Zeitangabe<br />
<br />
OnCalendar= Thu,Fri 2012-*-1..5 11:12:13<br />
<br />
Das obige Beispiel besagt: Um 11:12:13 Uhr, zwischen einschl. dem 1. und 5. Tag, aller Monate, des Jahres 2012, jedoch ausschließlich nur an Donnerstagen und Freitagen.<br />
<br />
Die Angabe eines Wochentags erfolgt in Englisch. Sie ist optional.<br />
Jede Rubrik kann mit "," oder ".." versehen werden oder durch "*" ersetzt werden.<br />
<br />
<br />
==== Relative Zeitangaben ====<br />
Sind abhängig von anderen Ereignissen<br />
* OnActiveSec= #Zeitspanne seit Aktivierung des Timers selbst<br />
* OnBootSec= #Zeitspanne seit dem Booten des Rechners<br />
* OnStartupSec= #Zeitspanne seit dem ersten Start von systemd<br />
* OnUnitActiveSec= #Zeitspanne seit dem letzten Start des Timers<br />
* OnUnitInactiveSec= #Zeitspanne seit Inaktivität der Timer-Unit<br />
<br />
Folgende Einheiten können für relative Zeitangaben gewählt werden:<br />
usec, us<br />
msec, ms<br />
seconds, second, sec, s<br />
minutes, minute, min, m<br />
hours, hour, hr, h<br />
days, day, d<br />
weeks, week, w<br />
months, month, M (definiert als 30.44 Tage)<br />
years, year, y (definiert als 365.25 Tage)<br />
Ohne Verwendung einer Einheit werden alle Angaben als Sekunden gewertet.<br />
<br />
Beispiel:<br />
OnBootSec=2d 1h 30m<br />
<br />
==== Weitere Optionen in [Timer] ====<br />
* AccuracySec= #Die Zeitspanne zum Ausführen beträgt als default 1 Minute. Durch Verwendung von AccuracySec kann diese Zeitspanne variiert werden.<br />
* RandomizedDelaySec= #Kann verwendet werden damit nicht mehrere Timer exakt zur gleichen Zeit loslegen. default ist 0.<br />
* Unit= #Als default ist dieser Wert identisch mit dem Suffix der {{ic|.timer}} Datei. Bei der Verwendung von Unit= muss auch eine Datei mit selbigen Namen erstellt werden. Eine Verschachtelung von Units ist hierdurch möglich. Siehe [http://blog.higgsboson.tk/2013/06/09/use-systemd-as-a-cron-replacement Higgsboson Blog] Reflector<br />
* Persistent=true #bewirkt, dass ein versäumter Job beim nächsten Rechnerstart unverzüglich nachgeholt wird.<br />
* WakeSystem= #Weckt das System aus dem supend mode.<br />
* RemainAfterElapse=true/false #true hält den Timer aktiv, false beendet den Timer nach einmaliger Ausführung.<br />
<br />
Weiteres dazu siehe {{ic|man systemd.time}}.<br />
<br />
<br />
=== Die [Install] Sektion ===<br />
* Alias= #Aliasnamen der Unit. Wird nicht von jedem Type unterstützt.<br />
* '''WantedBy=''', RequiredBy= basic.target, multi-user.target #Legt einen symbolischen Link nach .wants/ bzw. .requires/ bei Initialisierung der Unit. Bei Angabe weiterer Units erhalten, in Zusammenhang mit Wants= and Requires= der [Unit] Sektion weitere Units einen Symlink.<br />
* Also= #installiert oder deinstalliert andere Units bei Aktivierung dieser Unit. <br />
* DefaultInstance= #Regelt den expliziten Einsatz von Vorlage Unit Dateien.<br />
<br />
Näheres dazu siehe {{ic|man systemd.unit}} und {{ic|man systemd.special}}.<br />
<br />
<br />
=== Die [Service] Sektion ===<br />
* Type=simple, forking, oneshot, dbus, notify, idle #default ist simple.<br />
* RemainAfterExit= #Default ist no. yes hält den service aktiv.<br />
* GuessMainPID= #Default ist yes. Wenn die PID nicht exakt bestimmt werden kann wird normalerweise versucht sie zu berechnen. Dies kann hier ausgeschaltet werden.<br />
* PIDFile= #In Zusammenhang mit Type=forking kann für den Fork eine PID hinterlegt werden.<br />
* BusName= #Bei Type=dbus kann hier der betreffende D-Bus Name vereinbart werden.<br />
* '''ExecStart=''' #Angabe von einem oder mehrerer Befehle und deren Argumente oder eines ausführbaren Scripts. Die absolute Pfadangabe wird verlangt.<br />
* ExecStartPre=, ExecStartPost= #Hier aufgeführte Befehle werden vor bzw. nach ExecStart= ausgeführt.<br />
* ExecReload=# Wind genutzt um eine Rekonfiguration des Service zu veranlassen. <br />
* ExecStop= #Wird benötigt falls der Service zum Beenden spezielle Befehle braucht.<br />
* ExecStopPost= #Ergänzt ExecStop=<br />
* RestartSec= #wird nur für Restart= gebraucht.<br />
* TimeoutStartSec= #Legt eine Wartezeit bis zum Start fest. <br />
* TimeoutStopSec= #Legt die Wartezeit fest, bevor ein Service zum Abbruch gezwungen wird.<br />
* TimeoutSec= #Konfiguriert beides mit einem Wert. TimeoutStartSec= und TimeoutStopSec= .<br />
* RuntimeMaxSec= #Begrenzt die Laufzeit eines Service. Default ist unbegrenzte Zeit.<br />
* WatchdogSec= #Überwacht den Service auf Aktivität.<br />
* Restart= no (default), on-success, on-failure, on-abnormal, on-watchdog, on-abort, always #Startet den Service erneut.<br />
* PermissionsStartOnly= #Default ist false. True erlaubt unter ExecStart= Befehle mit anderen Benutzerrechten ausführen zu lassen als die Komandos bei ExecStartPre=, ExecStartPost=, ExecReload=, ExecStop=, und ExecStopPost=<br />
* RootDirectoryStartOnly= #Default ist false. True erlaubt das root Verzeichnis selektiv für ExecStart= Befehle neu zu definieren.<br />
* NonBlocking= #Default ist false. Siehe Näheres {{ic|man systemd.socket}}<br />
* NotifyAccess= none (default), main, all. #Steuert den ''service status notification socket''.<br />
* Sockets= #Siehe {{ic|man systemd.socket}}<br />
* FailureAction= #Aktion nach Scheitern des Service. Default ist none. <br />
* FileDescriptorStoreMax= #Anzahl der Datei Descriptoren. Default ist 0.<br />
* USBFunctionDescriptors= #Betrifft USB-Sticks.<br />
* USBFunctionStrings= #Betrifft USB-Sticks.<br />
<br />
Näheres dazu siehe {{ic|man systemd.service}}.<br />
<br />
<br />
== E-Mail ==<br />
Die engliche Archwiki Seite berichtet ausführlich darüber.<br />
<br />
== Weblinks ==<br />
* [https://kofler.info/systemd-timer-als-cron-alternative/ Michael Kofler Blog] Anleitung und Beispiel<br />
* [https://www.techrapid.co.uk/linux/arch-linux/automatic-update-arch-linux-with-systemd Techrapid] Autoupdate #Hinweis.: Autoupdates sind nur bedingt zu empfehlen!<br />
* [http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd.unit&ampsect=5 man page systemd.unit] - [Unit] configuration<br />
* [http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd.timer&ampsect=5 Man Page] systemd.timer - [Timer] configuration<br />
* [http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd.service&ampsect=5 Man Pge] systemd.service - [Service] configuration<br />
* [http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd.time&ampsect=7 Man Page] systemd.time - Time and date specifications<br />
* [https://fedoraproject.org/wiki/Features/SystemdCalendarTimers Fedora Project wiki page] on ''systemd'' calendar timers<br />
* [https://wiki.gentoo.org/wiki/Systemd#Timer_services Gentoo wiki section] on ''systemd'' timer services</div>Boenkihttps://wiki.archlinux.de/index.php?title=KVM&diff=19319KVM2017-02-18T17:15:24Z<p>Boenki: leitete auf andere Weiterleitugsseite</p>
<hr />
<div>#REDIRECT [[QEMU]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Diskussion:Treiber_kompilieren&diff=19308Diskussion:Treiber kompilieren2017-02-11T08:20:09Z<p>Boenki: AUR Paktet benutzen!?</p>
<hr />
<div>Hallo. Würde es nicht auch funktionieren ein AUR Paket zu installieren, zB {{AUR|8723bs-git-dkms|dieses}}!? --[[Benutzer:Boenki|Boenki]] ([[Benutzer Diskussion:Boenki|Diskussion]]) 09:20, 11. Feb. 2017 (CET)</div>Boenkihttps://wiki.archlinux.de/index.php?title=AUR_Hilfsprogramme&diff=19298AUR Hilfsprogramme2017-02-09T21:09:59Z<p>Boenki: en:AUR helpers</p>
<hr />
<div>{{unvollständig}}<br />
{{hinweis|Dies ist der erste Ansatz, um eine Seite für AUR Hilfsprogramme aufzubauen. Zur Orientierung dient https://wiki.archlinux.org/index.php/AUR_helpers. Mithilfe wird benötigt und ist sehr erwünscht}}<br />
<br />
{{achtung| Keine dieser Werkzeuge werden von Arch Linux offiziell unterstützt. Es wird empfohlen sich mit dem <br />
manuellen Build-Prozess vertraut zu machen, um aufkommende Probleme selbst zu beheben, oder darauf vorbereitet zu sein.}}<br />
<br />
Hier findet man alle relevanten Informationen zum [[Arch User Repository]].<br />
<br />
== Uploading ==<br />
<br />
* [https://gist.github.com/bbidulock/82ab6f5347f021136054 bbidulock's script] — Migration von einem .backup Verzeichnis mit allen Paketen.<br />
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_import.sh aur4_import.sh] — Teilt ein Paket aus einem Git Repository mit mehreren Paketen. Hinzufügen / Aktualisieren von {{ic|.SRCINFO}} für jeden commit.<br />
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_make_submodule.sh aur4_make_submodule.sh] / [https://github.com/alexandre-mbm/arch-pkgs/blob/master/subaur4 subaur4] — Ersetzt ein Paket in einem größeren git-Repository mit einem AIR-4-Submodul, einschließlich .SRCINFO.<br />
* [https://github.com/ido/packages-archlinux/blob/master/bin/import-to-aur4.sh import-to-aur4] — Teilt ein vorhandenes Git Repository, komplett in mehrere AUR 4 Pakete, einschließlich .SRCINFO für jeden commit.<br />
* [https://github.com/Edenhofer/abs/blob/master/aurpublish aurpublish] — Verwalten von AUR-Paketen als git-Subbäume . Die Erzeugung von .SRCINFO Dateien, die Überprüfung von .SRCINFO und die Erstellung einer .SRCINFO pro Paket wird den git-Hooks im selben Repo überlassen .<br />
<br />
== Tabelle ==<br />
<br />
Legende:<br />
<br />
* Sicher <br />
Stellt nicht standardmäßig den Source, oder PKGBUILD zur Verfügung, oder erinnert den Benutzer nicht, eines von beiden zu inspizieren.<br />
Einige Helfer sind dafür bekannt, PKGBUILDs zu quittieren, bevor der Benutzer sie inspiziert, so dass böswilliger Code ausgeführt werden kann . Optional bedeutet, dass ein Befehlszeilenflag oder eine Konfigurationsoption vorhanden ist, um das automatische Sourcing vor dem Anzeigen zu verhindern. <br />
* Saubere Bauweise<br />
Exportiert nicht neue Variablen, die einen erfolgreichen Buildprozess verhindern können. (Bitte Übersetzung kontrollieren)<br />
does not export new variables that can prevent a successful build process<br />
<br />
* Zuverlässiger Parser <br />
Fähigkeit, komplexe Pakete mit Hilfe der bereitgestellten Metadaten (RPC / .SRCINFO) anstelle von PKGBUILD- Parsing , wie aws-cli-git AUR , zu behandeln.<br />
<br />
* Zuverlässige Auflösung<br />
Fähigkeit, komplexe Abhängigkeitsketten wie Plasma-Git-Meta korrekt zu lösen und aufzubauen.<br />
<br />
*Aufgeteilte Pakete<br />
Möglichkeit, Split-Pakete unabhängig voneinander korrekt aufzubauen und zu installieren, wie z. B. python-nikol<br />
<br />
*Git Klone<br />
Verwendet Git-Klone anstatt Tarballs herunterzuladen (seit AUR 4 veraltet).<br />
<br />
*Syntax<br />
P steht für Pacman- artig, S für spezifisch.<br />
<br />
{|border="1" style="width:100%"<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Name'''<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Programmiert in'''<br />
|style="width:10%;background-color:#E5E5E5" align="center"|'''Sicher'''<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Saubere Bauweise'''<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Zuverlässiger Parser'''<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Zuverlässige Auflösung'''<br />
|style="width:15%;background-color:#E5E5E5" align="center"|'''Aufgeteilte Pakete'''<br />
|style="width:10%;background-color:#E5E5E5" align="center"|'''Git-Klon'''<br />
|style="width:10%;background-color:#E5E5E5" align="center"|'''Shell Vervollständigung'''<br />
|style="width:10%;background-color:#E5E5E5" align="center"|'''Synatx'''<br />
|style="width:10%;background-color:#E5E5E5" align="center"|'''Spezifizität'''<br />
|-<br />
<br />
|<div align="center">[https://github.com/oshazard/apacman apacman]</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Fork von packer</div><br />
|-<br />
|<div align="center">[https://github.com/aurapm/aura aura]</div><br />
|<div align="center">Haskell</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">bash/zsh</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Downgrade,ABS ,PowerPill Unterstützung,mehrsprachig, erfordert ArchHaskell</div><br />
|-<br />
|<div align="center">[https://github.com/alezost/aurel aurel]</div><br />
|<div align="center">Emacs Lisp</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div> <br />
|style="background-color:#d3d3d3"|<div align="center">/</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|<div align="center">/</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Emacs-Integration, keine automatische Builds</div><br />
|-<br />
|<div align="center">[https://github.com/pbrisbin/aurget/ aurget]</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#ffffaa"|<div align="center">Optional</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|<div align="center">bash/zsh</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Sortiert nach Abstimmung</div><br />
|-<br />
|<div align="center">[https://github.com/AladW/aurutils aurutils]</div><br />
|<div align="center">Bash/C</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">zsh</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Vifm,PCRE,lokales Repository,Paketunterzeichnung,systemd-nspawn Unterstützung</div><br />
|-<br />
|<div align="center">[http://xyne.archlinux.ca/projects/bauerbill bauerbill]</div><br />
|<div align="center">Python3 </div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">bash/zsh </div> <br />
|<div align="center">P/S</div> <br />
|<div align="center">Trust Management, ABS-Unterstützung, erweitert Powerpill</div><br />
|-<br />
|<div align="center">[https://github.com/m45t3r/burgaur burgaur]</div><br />
|<div align="center">Python3/C</div><br />
|style="background-color:#ffffaa"|<div align="center">Optional, with mc</div> <br />
|style="background-color:#d3d3d3"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Wrapper für cower</div><br />
|-<br />
|<div align="center">[https://github.com/falconindy/cower cower]</div><br />
|<div align="center">C</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">bash/zsh </div> <br />
|<div align="center">S</div> <br />
|<div align="center">Keine Paketerstellung, Regex-Unterstüztung, Sortierung nach Votes/Popularity</div><br />
|-<br />
|<div align="center">[https://github.com/baskerville/owlman owlman]</div><br />
|<div align="center">Bash/C</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffffaa"|<div align="center">Teiweise</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Wrapper für cower</div><br />
|-<br />
|<div align="center">[https://github.com/rmarquis/pacaur pacaur]</div><br />
|<div align="center">Bash/C </div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">bash/zsh </div> <br />
|<div align="center">P/S</div> <br />
|<div align="center">Minimiert Benutzerinteraktion, mehrsprachig, sortiert nach Votes / Beliebtheit</div><br />
|-<br />
|<div align="center">[https://github.com/keenerd/packer packer]</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">P</div> <br />
|<div align="center"></div><br />
|-<br />
|<div align="center">[http://xyne.archlinux.ca/projects/pbget pbget]</div><br />
|<div align="center">Python3</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Keine automatischen Builds</div><br />
|-<br />
|<div align="center">[https://github.com/Kwpolska/pkgbuilder PKGBUILDer]</div><br />
|<div align="center">Python3</div><br />
|style="background-color:#ffffaa"|<div align="center">Optional</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffffaa"|<div align="center">Teiweise</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Automatisches Erstellen als Standard, -F zum deaktivieren, mehrsprachig</div><br />
|-<br />
|<div align="center">[https://git.fleshless.org/prm/ prm]</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Keine automatischen Builds, ABS-Unterstützung</div><br />
|-<br />
|<div align="center">[https://github.com/cassava/repoctl repoctl]</div><br />
|<div align="center">Go</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">zsh</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Keine automatischen Builds, lokale Repository-Unterstützung</div><br />
|-<br />
|<div align="center">[http://www.floft.net/code/spinach/ spinach]</div><br />
|<div align="center">Bash </div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">S</div> <br />
|<div align="center"></div><br />
|-<br />
|<div align="center">[https://github.com/trizen/trizen trizen]</div><br />
|<div align="center">Perl</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#d3d3d3"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa" |<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">P</div> <br />
|<div align="center">AUR Kommentare</div><br />
|-<br />
|<div align="center">wrapaur</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#ffaaaa" |<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|<div align="center">Keine</div> <br />
|<div align="center">S</div> <br />
|<div align="center">Mirror updates, schreibt News und AUR Kommentare </div><br />
|-<br />
|<div align="center">[https://bitbucket.org/the_metalgamer/yaah yaah]</div><br />
|<div align="center">Bash</div><br />
|style="background-color:#aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#aaffaa" |<div align="center">Ja</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#d3d3d3"|<div align="center">/</div><br />
|style="background-color:#ffffaa"|<div align="center">Optional</div><br />
|<div align="center">bash </div> <br />
|<div align="center">S</div> <br />
|<div align="center">Keine automatischen Builds</div><br />
|-<br />
|<div align="center">[https://archlinux.fr/yaourt-en yaourt]</div><br />
|<div align="center">Bash/C</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div> <br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa" |<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffffaa"|<div align="center">Optional</div><br />
|<div align="center">bash/zsh/fish</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Backup, ABS-Unterstützung, AUR Kommentare, mehrsprachig</div><br />
|-<br />
|<div align="center">[https://github.com/Jguer/yay yay]</div><br />
|<div align="center">Go</div><br />
|style="background-color: #aaffaa"|<div align="center">Ja</div> <br />
|style="background-color:#aaffaa"|<div align="center">Ja</div><br />
|style="background-color:#aaffaa" |<div align="center">Ja</div><br />
|style="background-color:#ffaaaa"|<div align="center">Nein</div><br />
|style="background-color:#ffffaa"|<div align="center">Teilweise</div><br />
|style="background-color: #ffaaaa"|<div align="center">Nein</div><br />
|<div align="center">bash/zsh/fish</div> <br />
|<div align="center">P</div> <br />
|<div align="center">Sortiert nach Votes</div><br />
|-<br />
<br />
[[en:AUR helpers]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Ferm&diff=19256Ferm2017-02-05T14:10:05Z<p>Boenki: /* Siehe auch */ --> Weblinks</p>
<hr />
<div>{{SEITENTITEL:ferm}}<br />
{{righttoc}}<br />
<br />
ferm - ausgesprochen "firm", steht für "For Easy Rule Making".<br />
<br />
Mit ferm kannst du Firewall-Regeln basierend auf [[iptables]] konfigurieren und beim Systemstart laden.<br />
<br />
{{Installation|repo=community|paket=ferm}}<br />
<br />
== Konfiguration ==<br />
<br />
Die Konfigurationsdatei {{ic|/etc/ferm.conf}} enthält bereits Firewall-Regeln für ein Desktop-System.<br />
<br />
Weitere Beispiele findest du im Verzeichnis {{ic|/usr/share/doc/ferm/examples/}}. <br />
<br />
== ferm Import ==<br />
<br />
Bei geladenen Firewall-Regeln wird<br />
<br />
# import-ferm > /etc/ferm.conf<br />
<br />
diese übernehmen.<br />
<br />
== ferm Befehl ==<br />
<br />
# ferm /etc/ferm.conf # Lädt die Firewall-Regeln in das netfilter framework des Kernels.<br />
<br />
Überprüfen kannst du dies mittels<br />
<br />
# iptables -L -v<br />
# ip6tables -L -v<br />
<br />
== ferm Service ==<br />
<br />
# systemctl enable --now ferm.service # Für den automatischen Start vormerken und direkt starten<br />
<br />
== ferm Beispiel ==<br />
<br />
table filter {<br />
chain INPUT {<br />
policy DROP;<br />
<br />
# connection tracking<br />
mod state state INVALID DROP;<br />
mod state state (ESTABLISHED RELATED) ACCEPT;<br />
<br />
# allow local connections<br />
interface lo ACCEPT;<br />
<br />
# respond to ping<br />
proto icmp icmp-type echo-request ACCEPT;<br />
<br />
# ident connections are also allowed<br />
proto tcp dport auth ACCEPT;<br />
<br />
# the rest is dropped by the above policy<br />
}<br />
<br />
# outgoing connections are not limited<br />
chain OUTPUT policy ACCEPT;<br />
<br />
# this is not a router<br />
chain FORWARD policy DROP;<br />
}<br />
<br />
domain ip6 table filter {<br />
chain INPUT {<br />
policy DROP;<br />
<br />
# connection tracking<br />
mod state state INVALID DROP;<br />
mod state state (ESTABLISHED RELATED) ACCEPT;<br />
<br />
# allow local connections<br />
interface lo ACCEPT;<br />
<br />
# allow ICMP (for neighbor solicitation, like ARP for IPv4)<br />
proto ipv6-icmp ACCEPT;<br />
<br />
# ident connections are also allowed<br />
proto tcp dport auth ACCEPT;<br />
<br />
# the rest is dropped by the above policy<br />
}<br />
<br />
# outgoing connections are not limited<br />
chain OUTPUT policy ACCEPT;<br />
<br />
# this is not a router<br />
chain FORWARD policy DROP;<br />
}<br />
<br />
== Weblinks ==<br />
<br />
* Homepage [http://ferm.foo-projects.org ferm] {{sprache|en}}<br />
<br />
[[Kategorie:Sicherheit]]</div>Boenkihttps://wiki.archlinux.de/index.php?title=Advanced_Linux_Sound_Architecture&diff=19225Advanced Linux Sound Architecture2017-01-19T14:10:42Z<p>Boenki: typos</p>
<hr />
<div>==Installation==<br />
<br />
===Kernel Treiber===<br />
<br />
Alsa ist im Kernel und somit auch in allen <code>linux</code>-Paketen bereits enhalten.<br />
Falls ein eigener kernel gebaut wurde, so sollte das entsprechende Alsa-Treibermodul geladen werden.<br />
<br />
Alle benötigten Module sollten von udev automatisch erkannt und geladen werden, mit Ausnahme von ISA Karten sollte keine zusätzliche Konfiguration notwendig sein.<br />
Zur Beachtung, es ist '''NIEMALS''' <code>alsaconf</code> zu benutzen, wenn eine PCI oder ISAPNP Soundkarte vorhanden ist, dies könnte udev durcheinander bringen!<br />
<br />
===Pakete installieren===<br />
<br />
* Wird für native Alsa Programme und zur Administration benötigt:<br />
<br />
# pacman -S alsa-utils<br />
<br />
* Empfohlen, wenn Programme mit OSS Unterstützung, kombiniert mit dmix, verwendet werden sollen:<br />
<br />
# pacman -S alsa-oss<br />
<br />
Das Paket alsa-lib muss mittlerweile nicht mehr separat installiert werden, da es schon automatisch von alsa-utils als Abhängigkeit mitinstalliert wird.<br />
<br />
==Konfiguration==<br />
<br />
===Sicherstellen, dass die Soundmodule geladen sind===<br />
<br />
In den meisten Fällen erkennt udev die Soundkarte richtig, OSS Kompatibilitätsmodule eingeschlossen. Man kann dies mit dem folgenden Befehl überprüfen:<br />
<br />
# lsmod | grep 'snd'<br />
snd_usb_audio 69696 0 <br />
snd_usb_lib 13504 1 snd_usb_audio<br />
snd_rawmidi 20064 1 snd_usb_lib<br />
snd_hwdep 7044 1 snd_usb_audio<br />
snd_seq_oss 29412 0 <br />
snd_seq_midi_event 6080 1 snd_seq_oss<br />
snd_seq 46220 4 snd_seq_oss,snd_seq_midi_event<br />
snd_seq_device 6796 3 snd_rawmidi,snd_seq_oss,snd_seq<br />
snd_pcm_oss 45216 0 <br />
snd_mixer_oss 15232 1 snd_pcm_oss<br />
snd_intel8x0 27932 0 <br />
snd_ac97_codec 87648 1 snd_intel8x0<br />
snd_ac97_bus 1792 1 snd_ac97_codec<br />
snd_pcm 76296 4<br />
snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec<br />
snd_timer 19780 2 snd_seq,snd_pcm<br />
snd 43776 12<br />
snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer<br />
snd_page_alloc 7944 2 snd_intel8x0,snd_pcm<br />
<br />
Wenn die Ausgabe ähnlich aussieht, so wurden die Soundtreiber erfolgreich erkannt (in diesem Fall sind <code>snd_intel8x0</code> und <code>snd_usb_audio</code> die Gerätetreiber).<br />
Man kann auch das Verzeichnis <code>/dev/snd</code> auf die passenden Gerätedateien überprüfen:<br />
<br />
# ls -l /dev/snd/<br />
total 0<br />
crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0<br />
crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1<br />
crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c<br />
crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p<br />
crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c<br />
crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c<br />
crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p<br />
crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq<br />
crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer<br />
<br />
Wenn mindestens die Dateien <code>controlC0</code> und <code>pcmC0D0p</code> oder ähnliches vorhanden sind, so sind die Soundmodule richtig ermittelt und geladen worden.<br />
<br />
Sollte dies nicht der Fall sein, so sind die Soundmodule nicht richtig erkannt worden. '''Wenn man auf IRC oder in den Foren nach Hilfe fragt, sollte man die obigen Befehle mitteilen.''' Versuch, die Module manuell zu laden:<br />
<br />
* Suchen des Moduls für die Soundkarte: http://www.alsa-project.org/alsa-doc/ <br />
Das Modul hat das Präfix <code>snd-</code> (Beispiel: <code>snd-via82xx</code>).<br />
* Modul laden:<br />
# modprobe snd-NAME-DES-MODULS<br />
# modprobe snd-pcm-oss<br />
* Überprüfen, ob die Gerätedateien in <code>/dev/snd</code> (siehe oben) vorhanden sind und ob <code>alsamixer</code> oder <code>amixer</code> richtig eingestellt sind oder Fehlermeldungen ausgeben.<br />
<br />
===Zugriffsrechte===<br />
<br />
Um die Soundkarte als normaler Benutzer benutzen zu können, muss der Benutzer in der Gruppe audio sein.<br />
<br />
* Hinzufügen des Benutzers zur Gruppe <code>audio</code>:<br />
# gpasswd -a BENUTZER audio<br />
<br />
* Benutzer abmelden und wieder anmelden.<br />
<br />
===Soundkanäle aktivieren und Soundkarte testen===<br />
<br />
* Lautstärke einstellen<br />
<br />
Es wird empfohlen, <code>alsamixer</code> zum Einstellen der Lautstärke und aktivieren der Kanäle zu verwenden.<br />
'''ACHTUNG:''' Benutzung der Taste 'M' in <code>alsamixer</code>, um Kanäle zu aktivieren und nicht vergessen, die Lautstärke bestimmen.<br />
<br />
Ersatzweise kann auch <code>amixer</code> eingesetzt werden, welches jedoch weniger komfortabel ist:<br />
amixer set Master,0 75% unmute<br />
amixer set PCM,0 75% unmute<br />
<br />
* Versuchen eine Wave Datei abzuspielen:<br />
<br />
aplay /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
===Alsa Mixer Einstellungen beim Start wiederherstellen===<br />
<br />
Es gibt 2 Services (Dienste) zum speichern und wiederherstellen der Mixereinstellungen. Um diese zu aktivieren:<br />
# systemctl enable alsa-store.service<br />
# systemctl enable alsa-restore.service<br />
<br />
Sollte dies nicht funktionieren, dann kann man das gleiche Ergebnis mit folgenden Eingaben (als root) erreichen:<br />
# rm /var/lib/alsa/asound.state<br />
<br />
===Festlegen des Default-Device===<br />
Falls man mehrere Ausgabegeräte besitzt, ist es manchmal nötig, ein Default-Gerät festzulegen. Dazu gibt man die Karten über folgenden Befehl aus:<br />
# cat /proc/asound/cards<br />
<br />
Die Ausgabe könnte so aussehen:<br />
<br />
0 [HDMI ]: HDA-Intel - HDA ATI HDMI<br />
HDA ATI HDMI at 0xfe9ec000 irq 19<br />
1 [Bt878 ]: Bt87x - Brooktree Bt878<br />
Brooktree Bt878 at 0xfdffe000, irq 21<br />
2 [Audigy2 ]: Audigy2 - Audigy 4 [SB0610]<br />
Audigy 4 [SB0610] (rev.0, serial:0x10211102) at 0xe800, irq 20<br />
<br />
Nun editiert man eine der beiden Dateien:<br />
<br />
*<code>/etc/asound.conf</code> für systemweite Einstellungen, die alle Benutzer betreffen (root Rechte beim Editieren nicht vergessen).<br />
*<code>~/.asoundrc</code> für Einstellungen, die nur einen Benutzeraccount betreffen.<br />
<br />
Um ein simples sound Device als Standard durch !default (bei der alsa api als standard device definiert) zu definieren, fügt folgendes unter ~/.asoundrc hinzu:<br />
<br />
pcm.!default {<br />
type hw<br />
card Audigy2<br />
}<br />
ctl.!default {<br />
type hw<br />
card Audigy2<br />
}<br />
<br />
Nun habt ihr ein einfaches Sounddevice erstellt; um weitere Konfigurationen für Sounddevices festzulegen (e.g. plugins, slaves, etc) seht euch die Alsa Dokumentation [http://alsa.opensrc.org/.asoundrc] an! <br />
Der Wert <code>Audigy2</code> erhält man aus der obigen Ausgabe. Stattdessen lässt sich auch die Nummer eintragen, was aber nicht zu empfehlen ist, da sich bei einem Reboot die Reihenfolge ändern kann.<br />
<br />
'''Achtung''': es gab früher eine Datei namens <code>/etc/alsa.conf</code> mit sehr ähnlichem Inhalt. Es gibt heute noch tools, die eine solche Datei anlegen. Diese Datei wird aber offenbar nicht mehr benutzt, sie ist bedeutungslos und ihre Existenz verwirrend. Alle wesentlichen Einstellungen müssen in die Datei <code>/etc/asound.conf</code>. Wo eine <code>/etc/alsa.conf</code> existiert, kann sie getrost gelöscht werden.<br />
<br />
Um lediglich das standard device für alsa zu ändern (dies hat den Vorteil, dass ihr auf die Standardeinstellungen von alsa zurückgreifen könnt, wie etwas software Mixing für Ausgabe und Eingabe) wäre folgende Vorgehensweise zu empfehlen:<br />
<code> touch ~/.asoundrc</code><br />
nun fügt folgendes zu <code>~/.asoundrc</code> hinzu:<br />
<br />
defaults.ctl.card <number of your sound device><br />
defaults.pcm.card <number of your sound device><br />
defaults.timer.card <number of your sound device><br />
<br />
oder, falls das Device über den Devicenamen adressiert werden soll:<br />
<br />
defaults.ctl.!card "<name of your sound device>"<br />
defaults.pcm.!card "<name of your sound device>"<br />
defaults.timer.!card "<name of your sound device>"<br />
<br />
===SPDIF Soundausgabe===<br />
<br />
(von gralves von den gentoo foren)<br />
* Ändere IEC958 nach PCM in den Optionen der Gnome Lautstärke Kontrolle.<br />
* Ansonsten, ohne Gnome<br />
** Ändere <code>IEC958 Playback Switch</code> in der Datei <code>/etc/asound.state</code> von <code>false</code> nach <code>true</code> und <code>IEC958 Playback AC97-SPSA</code> nach <code>0</code>. <br />
** Starte Alsa neu.<br />
<br />
Alternative Möglichkeit, um SPDIF automatisch beim Login zu starten (getestet mit einer SoundBlaster Audigy):<br />
* Ein Script erstellen z.B. /etc/spdif.sh mit folgendem Inhalt:<br />
<br />
amixer set 'IEC958 Optical' 100 unmute<br />
amixer set 'Audigy Analog/Digital Output Jack' on<br />
* Ein /etc/systemd/system/spdif.service erstellen mit folgendem Inhalt:<br />
[Unit]<br />
Description=SPDIF beim Login starten<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/etc/spdif.sh<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
Den Service starten mit<br />
systemctl start spdif.service<br />
Den Service beim nächsten booten automatisch starten:<br />
systemctl enable spdif.service<br />
<br />
Überprüfung amixers Einstellungen mit:<br />
<br />
amixer scontrols<br />
<br />
==Immer noch kein Sound?==<br />
<br />
Obwohl die Treiber für die Soundkarte richtig installiert und sowohl Lautstärke als auch Kanäle richtig eingestellt sind, könnte es sein, dass man noch immer nichts hört! <br />
Hinzufügen folgender Zeile in <code>/etc/modprobe.d/sound.conf</code> um dieses Problem zu lösen.<br />
<br />
Für <code>via82xx</code>:<br />
options snd-NAME-DES-MODULS ac97_quirk=0<br />
<br />
Für HDA-VIA/Realtek/Intel:<br />
options snd-hda-intel model=3stack<br />
''Für HDA-Intel siehe auch: [[Hda-intel]]<br />
<br />
Für Lenovo N200 und ASUS F5SL Notebook:<br />
options snd-hda-intel model=lenovo<br />
<br />
==Konfiguration für KDE==<br />
* Starte [[KDE]]:<br />
# startx<br />
<br />
* Stelle die Lautstärke für diesen Benutzer deinen Präferenzen nach ein (Wie bei Linux üblich, werden die Einstellungen für jeden Benutzer seperat gespeichert):<br />
# alsamixer<br />
<br />
* <b>KDE 3.3</b><br />
** Starte KMix und deaktiviere die Option "Lautstärke beim Anmelden wiederherstellen"<br />
<br />
<br />
{| style="border:1px solid #8888aa; background-color:#f7f8ff;padding:5px;font-size:95%;"<br />
|<br />
Seite kopiert von "http://wiki.archlinux.org/index.php/ALSA_Einrichten_(Deutsch)" und veröffentlicht unter der GNU Free Documentation License 1.2.<br />
|}<br />
<br />
<br />
==Schlechte Soundqualität?==<br />
* Sollte es zu Verzerrungen kommen, sollte man überprüfen, ob ggf. "PCM" zu hoch eingestellt ist. Starten von <br />
$ alsamixer<br />
* und "PCM" "dB gain" auf 0.00 oder niedriger eingestellen.<br />
<br />
<br />
==Einen zusätzlichen Regler hinzufügen==<br />
Zusätzliche Regler können benutzt werden, um z.B. Programme einzeln in der Lautstärke regeln zu können, ähnlich wie bei PulseAudio. Benötigt werden dazu die Alsa-Plugins (siehe oben). Die Regler können wahlweise in /etc/asound.conf (global) oder in ~/.asoundrc (Benutzerbezogen) angelegt werden. Im folgenden wird ein Regler für das Programm mplayer angelegt. Dieser Regler muss anschließend im Programm, welches diesen verwenden soll eigestellt werden. Hinweise dazu sind in den Wikis/Dokus der betreffenden Programme zu finden.<br />
<br />
pcm.mplayer {<br />
type softvol<br />
slave.pcm "default"<br />
control.name "MPlayer"<br />
control.card 0<br />
<br />
min_dB -35.0<br />
max_dB 10.0<br />
resolution 90<br />
}<br />
<br />
Damit wird ein neues PCM-Gerät Namens "mplayer" angelegt, welches durch den Regler "MPlayer" im Pegel gesteuert wird. Das Signal wird anschließend über das Gerät "default" ausgegeben. Der Regler wird im vorgenannten Beispiel an der ersten Soundkarte "0" angelegt.<br />
<br />
Mit den Werten unter min_dB und max_dB kann man die Grenzen der Drosselung bzw. der Verstärkung des Signals definieren. Das persönliche Optimum findet man durch probieren raus. Mit dem Schalter "resolution" stellt man die Schrittweite des Reglers ein. Lässt man diesen Schalter weg, so liegt die Auflösung bei 256.<br />
<br />
Aus eigener Erfahrung möchte ich noch einen Hinweis zum Löschen eines solchen Reglers geben, da das bei mir einiges Suchen auslöste. Alsa speichert die aktuellen Einstellungen in der Datei "/var/lib/alsa/asound.state", darunter natürlich auch die Regler. Will man einen angelegten Regler wieder entfernen, so muss man diesen zunächst aus der Konfigurationsdatei (/etc/asound.conf oder ~/.asoundrc) entfernen. Damit ist dieser Regler dann tatsächlich auch nicht mehr vorhanden und kann nicht mehr verwendet werden, allerdings taucht dieser noch im Mixer-Programm auf. Um diesen loszuwerden, so ist es nötig, den Regler aus der asound.state unter Zuhilfenahme eines Bearbeitungsprogrammes (z.B. vim, nano) zu entfernen. Anschließend muss die Datei vor Schreibzugriff geschützt werden, sodass der Daemon die im System vorhanden Einstellungen beim Herunterfahren des Computers nicht darin speichern kann. Nach einem Neustart des Computers kann die Datei wieder in einen beschreibbaren Zustand versetzt werden.<br />
<br />
[[Kategorie:Sound]]<br />
[[Kategorie:Services]]<br />
[[en:Advanced Linux Sound Architecture]]</div>Boenki