diff --git a/LaTeXML.css b/LaTeXML.css new file mode 100644 index 0000000..8b250b3 --- /dev/null +++ b/LaTeXML.css @@ -0,0 +1,381 @@ +/*====================================================================== + Core CSS for LaTeXML documents converted to (X)HTML */ +/* Generic Page layout */ +.ltx_page_header, +.ltx_page_footer { font-size:0.8em; } +.ltx_page_header *[rel~="prev"], +.ltx_page_footer *[rel~="prev"] { float:left; } +.ltx_page_header *[rel~="up"], +.ltx_page_footer *[rel~="up"] { display:block; text-align:center; } +.ltx_page_header *[rel~="next"], +.ltx_page_footer *[rel~="next"] { float:right; } +/* What was I trying for here; need more selective rule! +.ltx_page_header .ltx_ref, +.ltx_page_footer .ltx_ref { + margin:0 1em; } +*/ +.ltx_page_header li { + padding:0.1em 0.2em 0.1em 1em;} +/* Main content */ +.ltx_page_content { clear:both; } +.ltx_page_header { border-bottom:1px solid; margin-bottom:5px; } +.ltx_page_footer { clear:both; border-top:1px solid; margin-top:5px; } + +.ltx_page_header:after, +.ltx_page_footer:after, +.ltx_page_content:after { + content:"."; display:block; height:0; clear:both; visibility:hidden; } +.ltx_page_footer:before { + content:"."; display:block; height:0; clear:both; visibility:hidden; } + +.ltx_page_logo { font-size:80%; margin-top: 5px; clear:both; float:right; } +.ltx_page_logo a { font-variant: small-caps; } +.ltx_page_logo img { vertical-align:-3px; } + +/* if shown */ +.ltx_page_navbar li { white-space:nowrap; display:block; overflow:hidden; } +/* If ref got turned into span, it's "this section"*/ +.ltx_page_navbar li span.ltx_ref { white-space:normal; overflow:visible; } + +/* Ought to be easily removable/overridable? */ +.ltx_pagination.ltx_role_newpage { height:2em; } +/*====================================================================== + Document Structure; Titles & Frontmatter */ + +/* undo bold here to remove the browser's native h# styling, + at let all other styles override it (with more specific rules)*/ +.ltx_title { font-size:100%; font-weight:normal; } + +/* Hack to simulate run-in! put class="ltx_runin" on a title or tag + for it to run-into the following text. */ +.ltx_runin { display:inline; } +.ltx_runin:after { content:" "; } +.ltx_runin + .ltx_para, +.ltx_runin + .ltx_para p, +.ltx_runin + p { display:inline; } + +.ltx_outdent { margin-left: -2em; } + +/* .ltx_chapter_title, etc should be in ltx-article.css etc. + */ +.ltx_page_main { margin:0px; padding:1em 3em 1em 2em; } +.ltx_tocentry { list-style-type:none; } + +/* support for common author block layouts.*/ +/* add class ltx_authors_1line to get authors in single line + with pop-up affiliation, etc. */ +.ltx_authors_1line .ltx_creator, +.ltx_authors_1line .ltx_author_before, +.ltx_authors_1line .ltx_author_after { display:inline;} +.ltx_authors_1line .ltx_author_notes { display:inline-block; } +.ltx_authors_1line .ltx_author_notes:before { content:"*"; color:blue;} +.ltx_authors_1line .ltx_author_notes span { display:none; } +.ltx_authors_1line .ltx_author_notes:hover span { + display:block; position:absolute; z-index:10; + background:white; text-align:left; + border: 1px solid black; border-radius: 0 5px 5px 5px; box-shadow: 5px 5px 10px gray; } + +/* add class=ltx_authors_multiline to get authors & affliations on separate lines*/ +.ltx_authors_multiline .ltx_creator, +.ltx_authors_multiline .ltx_author_before, +.ltx_authors_multiline .ltx_author_after, +.ltx_authors_multiline .ltx_author_notes, +.ltx_authors_multiline .ltx_author_notes .ltx_contact { + display:block; } + +/*====================================================================== + Para level */ +.ltx_float { + margin: 1ex 3em 1ex 3em; } +td.ltx_subfigure, +td.ltx_subtable, +td.ltx_subfloat { width:50%; } +/* theorems, figure, tables, floats captions.. */ +/*====================================================================== + Blocks, Lists, Floats */ +.ltx_p, +.ltx_quote, +.ltx_block, +.ltx_para { + display: block; } + +/* alignment within blocks */ +.ltx_align_left { text-align:left; } +.ltx_align_right { text-align:right; } +.ltx_align_center { text-align:center; } +.ltx_align_justify { text-align:justify; } +.ltx_align_top { vertical-align:top; } +.ltx_align_bottom { vertical-align:bottom; } +.ltx_align_middle { vertical-align:middle; } +.ltx_align_baseline { vertical-align:baseline; } + +.ltx_align_floatleft { float:left; } +.ltx_align_floatright { float:right; } + +.ltx_td.ltx_align_left, .ltx_th.ltx_align_left, +.ltx_td.ltx_align_right, .ltx_th.ltx_align_right, +.ltx_td.ltx_align_center, .ltx_th.ltx_align_center { white-space:nowrap; } +.ltx_td.ltx_align_left.ltx_wrap, .ltx_th.ltx_align_left.ltx_wrap, +.ltx_td.ltx_align_right.ltx_wrap, .ltx_th.ltx_align_right.ltx_wrap, +.ltx_td.ltx_align_center.ltx_wrap, .ltx_th.ltx_align_center.ltx_wrap, +.ltx_td.ltx_align_justify, .ltx_th.ltx_align_justify { white-space:normal; } + +.ltx_tabular .ltx_tabular { width:100%; } +.ltx_inline-block { display:inline-block; } + +/* equations in non-aligned mode (not normally used) */ +.ltx_eqn_div { display:block; width:95%; text-align:center; } + +/* equations in aligned mode (aligning tags, etc as well as equations) */ +.ltx_eqn_table { display:table; width:100%; border-collapse:collapse; } +.ltx_eqn_row { display:table-row; } +.ltx_eqn_cell { display:table-cell; width:auto; } + +/* Padding between column pairs in ams align */ +table.ltx_eqn_align tr.ltx_equation td.ltx_align_left + td.ltx_align_right, +table.ltx_eqn_align tr.ltx_equation td.ltx_align_left + td.ltx_align_center, +table.ltx_eqn_align tr.ltx_equation td.ltx_align_center + td.ltx_align_right, +table.ltx_eqn_align tr.ltx_equation td.ltx_align_center + td.ltx_align_center { padding-left:3em; } +table.ltx_eqn_eqnarray tr.ltx_eqn_lefteqn + tr td.ltx_align_right { min-width:2em; } + +.ltx_eqn_eqno { max-width:0em; overflow:visible; white-space: nowrap; } +.ltx_eqn_eqno.ltx_align_right .ltx_tag { float:right; } + +.ltx_eqn_center_padleft, +.ltx_eqn_center_padright { width:50%; min-width:2em;} +.ltx_eqn_left_padleft, +.ltx_eqn_right_padright { min-width:2em; } +.ltx_eqn_left_padright, +.ltx_eqn_right_padleft { width:100%; } + +/* Various lists */ +.ltx_itemize, +.ltx_enumerate, +.ltx_description { + display:block; } +.ltx_itemize .ltx_item, +.ltx_enumerate .ltx_item { + display: list-item; } + +/* Position the tag to look like a normal item bullet. */ +li.ltx_item > .ltx_tag { + display:inline-block; margin-left:-1.5em; min-width:1.5em; + text-align:right; } +.ltx_item .ltx_tag + .ltx_para, +.ltx_item .ltx_tag + .ltx_para .ltx_p { display:inline; } + +/* NOTE: Need to try harder to get runin appearance? */ +dl.ltx_description dt { margin-right:0.5em; float:left; + font-weight:bold; font-size:95%; } +dl.ltx_description dd { margin-left:5em; } +dl.ltx_description dl.ltx_description dd { margin-left:3em; } + +/* Theorems */ +.ltx_theorem {margin:1em 0em 1em 0em; } +.ltx_title_theorem { font-size:100%; } + +/* Bibliographies */ +.ltx_bibliography dt { margin-right:0.5em; float:left; } +.ltx_bibliography dd { margin-left:3em; } +/*.ltx_biblist { list-style-type:none; }*/ +.ltx_bibitem { list-style-type:none; } +.ltx_bibitem .ltx_tag { font-weight:bold; margin-left:-2em; width:3em; } +/*.bibitem-tag + div { display:inline; }*/ +.ltx_bib_title { font-style:italic; } +.ltx_bib_article .bib-title { font-style:normal !important; } +.ltx_bib_journal { font-style:italic; } +.ltx_bib_volume { font-weight:bold; } + +/* Indices */ +.ltx_indexlist li { list-style-type:none; } +.ltx_indexlist { margin-left:1em; padding-left:1em;} + +/* Listings */ +.ltx_listing { + display:block; + margin: 1ex 3em 1ex 0em; + overflow-x:auto; + text-align: left; } +.ltx_float .ltx_listing { + margin: 0; } +.ltx_listingline { white-space:nowrap; min-height:1em; } +.ltx_lst_numbers_left .ltx_listingline .ltx_tag { + background-color:transparent; + margin-left:-3em; width:2.5em; + position:absolute; + text-align:right; } +.ltx_lst_numbers_right .ltx_listingline .ltx_tag { + background-color:transparent; + width:2.5em; + position:absolute; right:3em; + text-align:right; } +/* + position:absolute; left:0em; + max-width:0em; text-align:right; } +*/ +.ltx_parbox {text-indent:0em; } + +/* NOTE that it is CRITICAL to put position:relative outside & absolute inside!! + I wish I understood why! + Outer box establishes resulting size, neutralizes any outer positioning, etc; + inner establishes position of stuff to be rotated */ +.ltx_transformed_outer { + position:relative; bottom:0pt;left:0pt; + overflow:visible; } +.ltx_transformed_inner { + display:block; + position:absolute;bottom:0pt;left:0pt; } +.ltx_transformed_inner > .ltx_p {text-indent:0em; margin:0; padding:0; } +/* If simulating a table (html5), try to get rowspan to work...sorta? */ +span.ltx_rowspan { position:absolute; top:0; bottom:0; } + +/* by default, p doesn't indent */ +.ltx_p { text-indent:0em; white-space:normal; } +/* explicit control of indentation (on ltx_para) */ +.ltx_indent > .ltx_p:first-child { text-indent:2em!important; } +.ltx_noindent > .ltx_p:first-child { text-indent:0em!important; } + +/*====================================================================== + Columns */ +.ltx_page_column1 { + width:44%; float:left; } /* IE uses % of wrong container*/ +.ltx_page_column2 { + width:44%; float:right; } +.ltx_page_columns > .ltx_page_column1 { + width:48%; float:left; } +.ltx_page_columns > .ltx_page_column2 { + width:48%; float:right; } +.ltx_page_columns:after { + content:"."; display:block; height:0; clear:both; visibility:hidden; } + +/*====================================================================== + Borders and such */ +.ltx_tabular { display:inline-table; border-collapse:collapse; } +.ltx_tabular.ltx_centering { display:table; } +.ltx_thead, +.ltx_tfoot, +.ltx_tbody { display:table-row-group; } +.ltx_tr { display:table-row; } +.ltx_td, +.ltx_th { display:table-cell; } + +.ltx_framed { border:1px solid black;} +.ltx_tabular .ltx_td, +.ltx_tabular .ltx_th { padding:0.1em 0.5em; } +/* regular lines */ +.ltx_border_t { border-top:1px solid black; } +.ltx_border_r { border-right:1px solid black; } +.ltx_border_b { border-bottom:1px solid black; } +.ltx_border_l { border-left:1px solid black; } +/* double lines */ +.ltx_border_tt { border-top:3px double black; } +.ltx_border_rr { border-right:3px double black; } +.ltx_border_bb { border-bottom:3px double black; } +.ltx_border_ll { border-left:3px double black; } +/* Light lines */ +.ltx_border_T { border-top:1px solid gray; } +.ltx_border_R { border-right:1px solid gray; } +.ltx_border_B { border-bottom:1px solid gray; } +.ltx_border_L { border-left:1px solid gray; } +/* Framing */ +.ltx_framed_rectangle { border-style:solid; border-width:1px; } +.ltx_framed_top { border-top-style:solid; border-top-width:1px; } +.ltx_framed_left { border-left-style:solid; border-left-width:1px; } +.ltx_framed_right { border-right-style:solid; border-right-width:1px; } +.ltx_framed_bottom, +.ltx_framed_underline { border-bottom-style:solid; border-bottom-width:1px; } +.ltx_framed_topbottom { border-top-style:solid; border-top-width:1px; + border-bottom-style:solid; border-bottom-width:1px; } +.ltx_framed_leftright { border-left-style:solid; border-left-width:1px; + border-right-style:solid; border-right-width:1px; } + +/*====================================================================== + Misc */ +/* .ltx_verbatim*/ +.ltx_verbatim { text-align:left; } +/*====================================================================== + Meta stuff, footnotes */ +.ltx_note_content { display:none; } +/*right:5%; */ +.ltx_note_content { + max-width: 70%; font-size:90%; left:15%; + text-align:left; + background-color: white; + padding: 0.5em 1em 0.5em 1.5em; + border: 1px solid black; border-radius: 0 5px 5px 5px; box-shadow: 5px 5px 10px gray; } +.ltx_note_mark { color:blue; } +.ltx_note_type { font-weight: bold; } +.ltx_note { display:inline-block; text-indent:0; } /* So we establish containing block */ +.ltx_note_content .ltx_note_mark { position:absolute; left:0.2em; top:-0.1em; } +.ltx_note:hover .ltx_note_content, +.ltx_note .ltx_note_content:hover { + display:block; position:absolute; z-index:10; } + +.ltx_ERROR { color:red; } +.ltx_rdf { display:none; } +.ltx_missing { color:red;} +.ltx_nounicode { color:red; } +/*====================================================================== + SVG (pgf/tikz ?) basics */ + +/* Stuff appearing in svg:foreignObject */ +.ltx_svg_fog foreignObject { margin:0; padding:0; overflow:visible; } +.ltx_svg_fog foreignObject > p { margin:0; padding:0; display:block; } +/*.ltx_svg_fog foreignObject > p { margin:0; padding:0; display:block; white-space:nowrap; }*/ + +/*====================================================================== + Low-level Basics */ +/* Note that LaTeX(ML)'s font model doesn't map quite exactly to CSS's */ +/* Font Families => font-family */ +.ltx_font_serif { font-family: serif; } +.ltx_font_sansserif { font-family: sans-serif; } +.ltx_font_typewriter { font-family: monospace; } +/* dingbats should be converted to unicode? */ +/* Math font families handled within math: script, symbol, fraktur, blackboard ? */ +/* Font Series => font-weight */ +.ltx_font_bold { font-weight: bold; } +.ltx_font_medium { font-weight: normal; } +/* Font Shapes => font-style or font-variant */ +.ltx_font_italic { font-style: italic; font-variant:normal; } +.ltx_font_upright { font-style: normal; font-variant:normal; } +.ltx_font_slanted { font-style: oblique; font-variant:normal; } +.ltx_font_smallcaps { font-variant: small-caps; font-style:normal; } +.ltx_font_oldstyle { font-variant: oldstyle-nums; /* experimental css3 ? Doesn't seem to work!*/ + font-style:normal; + -moz-font-feature-settings: "onum"; + -ms-font-feature-settings: "onum"; + -webkit-font-feature-settings: "onum"; + font-variant-numeric: oldstyle-nums; } +.ltx_font_mathcaligraphic { font-family: "Lucida Calligraphy", "Zapf Chancery","URW Chancery L"; } +/* + +.ltx_font_mathscript { ? } +*/ +cite { font-style: normal; } + +.ltx_red { color:red; } +/*.ltx_centering { text-align:center; margin:auto; }*/ +/*.ltx_inline-block.ltx_centering,*/ +/* Hmm.... is this right in general? */ +.ltx_centering { display:block; margin:auto; text-align:center; } + +/* Dubious stuff */ +.ltx_hflipped { + display:inline-block; + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-fliter: "FlipH"; } +.ltx_vflipped { + display:inline-block; + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-fliter: "FlipV"; } + +/* .ltx_phantom handled in xslt */ + diff --git a/S1.html b/S1.html new file mode 100644 index 0000000..ce9bda0 --- /dev/null +++ b/S1.html @@ -0,0 +1,127 @@ + + +1 Commandes usuelles‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+1 Commandes usuelles

+
+ +
+

Si l’on utilise pas quotidiennement son terminal, on se retrouve régulièrement à avoir à rechercher des commandes usuelles sur internet car on les a oubliées. +
L’objectif de cette page est donc de regrouper quelques commandes qui reviennent assez souvent. +

+
+
+

Pour une vraie documentation/présentation de ces commandes, je conseille la très bonne page : https://linuxpedia.fr/doku.php/commande/commande.

+
+
+

Pipe ou envoyer le résultat d’une commande dans une autre

+ +
+

Le signe | permet de renvoyer le résultat d’une commande dans la suivante au lieu de l’afficher dans le terminal :

+
+ +
+commande1 | commande2 +
+
+
+
+

Le résultat de la commande1 est utilisé comme argument de commande2.

+
+
+
+

Cat ou afficher le contenu d’un fichier

+ +
+

La commande cat permet d’afficher le contenu d’un fichier grâce à :

+
+ +
+cat fichier.txt +
+
+
+
+
+

Télécharger une page internet

+ +
+

La commande curl exemple.com affichera dans votre terminal le contenu de la page demandée. +

+
+
+

La commande wget exemple.com téléchargera ce contenu dans un fichier html. Il est possible de l’utiliser récursivement pour télécharger tout un site.

+
+
+
+

Ajouter du contenu dans un fichier

+ +
+

Pour ajouter du contenu dans un fichier sans avoir à l’ouvrir, on peut utiliser >>.

+
+
+

Ainsi echo nouvelle ligne >> fichier.txt ajoutera "nouvelle ligne" dans fichier.txt.

+
+
+

On peut aussi l’utiliser avec une commande, par exemple :

+
+ +
+curl exemple.com >> fichier.txt +
+
+

permettra d’ajouter le contenu de exemple.com dans fichier.txt, et crée le fichier si il n’existe pas.

+
+
+
+

Trouver des caractères ou des fichiers

+ +
+

Pour ces tâches on utilisera les commandes grep et find, la première pour trouver des caractères/mots/lignes dans un fichier et la deuxième pour trouver des fichiers dans un répertoire selon leur nom ou extension par exemple. +

+
+
+
+
+ +
+ + diff --git a/S10.html b/S10.html new file mode 100644 index 0000000..19d3b88 --- /dev/null +++ b/S10.html @@ -0,0 +1,231 @@ + + +10 Vie privée‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+10 Vie privée

+
+ +
+

+10.1 Utiliser le VPN Riseup Black

+ +
+
    +
  1. +1. +
    +

    Créer un compte black.riseup.net

    +
    +
  2. +
  3. +2. +
    +

    Installer Bitmask

    +
    +
  4. +
  5. +3. +
    +

    Ouvrir Bitmask et se connecter

    +
    +
  6. +
+

Installation de Bitmask pour Debian Stretch +
Documentation : https://dl.bitmask.net/linux/ +
Il y a besoin d’autoriser les stretch-backports pour installer le dernier paquet leap-archive-keyring +
Ne pas faire cette étape si stretch-backports est déjà activé

+
+ +
+sudo echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list +
+
+sudo apt update && sudo apt install -t stretch-backports leap-archive-keyring +
+
+
+ +
+sudo sh -c ’echo "deb http://deb.leap.se/client release stretch" > /etc/apt/sources.list.d/bitmask.list’ +
+
+sudo apt update && sudo apt install bitmask +
+
+

Résolution de problème

+
+
+
+

+10.2 Changer son adresse mac

+ +
+

Installer macchanger :

+
+ +
+sudo apt-get install macchanger +
+
+

On peut ensuite connaître son adresse MAC pour la noter :

+
+ +
+macchanger eth0 +
+
+ou +
+
+macchanger wlan0 +
+
+ou +
+
+macchanger wlp3s0 +
+
+

Créer le fichier de configuration :

+
+ +
+sudo nano /etc/init/macchanger.conf +
+
+
+
+# macchanger - set MAC addresses +
+
+# +
+
+# Set the MAC addresses for the network interfaces. +
+
+
+
+description     "change mac addresses" +
+
+
+
+start on starting network-manager +
+
+
+
+pre-start script +
+
+        /usr/bin/macchanger -A wlan0 +
+
+        /usr/bin/macchanger -A eth0 +
+
+        /usr/bin/macchanger -A wmaster0 +
+
+        /usr/bin/macchanger -A pan0 +
+
+        #/usr/bin/logger wlan0 ‘/usr/bin/macchanger -s wlan0‘ +
+
+        #/usr/bin/logger eth0 ‘/usr/bin/macchanger -s eth0‘ +
+
+end script +
+
+

Attention à rajouter le nom de votre interface si elle n’est ni wlan0 ni eth0 (c’était wlp3s0 pour moi). +
Créer le fichier /etc/network/if-post-down.d/random-mac à partir de :

+
+ +
+#!/bin/sh +
+
+
+
+MACCHANGER=/usr/bin/macchanger +
+
+
+
+[ "$IFACE" != "lo" ] || exit 0 +
+
+
+
+# Bring down interface (for wireless cards that are up to scan for networks), change MAC address to a random vendor address, bring up the interface +
+
+/sbin/ifconfig "$IFACE" down +
+
+macchanger -A "$IFACE" +
+
+

Il reste à rendre le script exécutable et à redémarrer le network manager : +

+
+ +
+sudo chmod +x /etc/network/if-post-down.d/random-mac +
+
+sudo service network-manager restart +
+
+
+ +
+
+
+ +
+ + diff --git a/S11.html b/S11.html new file mode 100644 index 0000000..8207d08 --- /dev/null +++ b/S11.html @@ -0,0 +1,132 @@ + + +11 Bugs divers‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+11 Bugs divers

+
+ +
+

+11.1 Bugs après une installation

+ +
+

+11.1.1 Driver wifi - Debian x bcm43xx

+ +
+

Pour connaître les composants connectés au bus PCI, on utilise la commande lspci +

+
+
+

Version raccourcie pour les réseaux :

+
+ +
+~$ lspci -nn | grep Network +
+
+03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02) +
+
+

Présentation ici d’un cas particulier mais la méthode peut être adaptée à d’autres modèles de drivers. +
Ajouter contrib non-free à la ligne du fichier /etc/apt/sources.list puis mettre à jour les sources :

+
+ +
+# Debian 9 "stretch" +
+
+deb http://deb.debian.org/debian/ stretch main contrib non-free +
+
+apt-get update +
+
+

Installer le bon firmware selon le driver +

+
+
+

BCM4306 revision 3, BCM4311, BCM4318, BCM4321 ou BCM4322 : +
firmware-b43-installer +
BCM4312 LP-PHY : +
firmware-b43-installer +
BCM4301 chip ou BCM4306 revision 2 : +
firmware-b43legacy-installer +

+
+ +
+
+
+

+11.2 Bugs dans le terminal

+ +
+

+11.2.1 ./configure say no compiler found

+ +
+

Erreur

+
+ +
+configure: error: no acceptable C compiler found in $PATH +
+
+

Solution

+
+ +
+sudo apt-get install build-essential +
+
+

Source : https://stackoverflow.com/questions/18076157/why-does-configure-say-no-c-compiler-found-when-gcc-is-installed

+
+
+
+
+
+ +
+ + diff --git a/S12.html b/S12.html new file mode 100644 index 0000000..9c3439f --- /dev/null +++ b/S12.html @@ -0,0 +1,124 @@ + + +12 Divers‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+12 Divers

+
+ +
+

+12.1 Wallabako - synchronisation wallabag et kobo

+ +
+

Si vous avez une instance Wallabag et une liseuse Kobo, il existe un programme permettant de synchroniser les articles non-lus en les téléchargeant en ePUB sur votre liseuse. +

+
+
+

La documentation et les fichiers sont ici : https://gitlab.com/anarcat/wallabako

+
+
+
+

+12.2 Contrôler son téléphone Android - scrpy

+ +
+

Ce programme permet à un téléphone Android d’être entièrement contrôlé via l’ordinateur auquel il est branché. L’écran est simplement en miroir sur une fenêtre flottante et permet d’utiliser le clavier et la souris de l’ordinateur. +
Il est disponible sur les principales distributions : https://github.com/Genymobile/scrcpy

+
+
+
+

+12.3 Stylet, PC tablette, etc

+ +
+

Pour installer les drivers du stylet dans Arch Linux (nécessite un redémarrage) :

+
+ +
+sudo pacman -S xf86-input-wacom +
+
+

Pour activer la reconnaissance automatique de l’orientation et changer celle de l’écran et de la souris en même temps, installer les programmes suivants (disponibles en AUR) :

+
+ +
+iio-sensor-proxy-git screenrotator-git +
+
+

Ressources : https://wiki.archlinux.org/index.php/Tablet_PC#Stylus

+
+
+

+12.3.1 Activer le clic droit du stylet

+ +
+

D’abord, trouver l’id du stylet avec :

+
+ +
+xinput --list +
+
+
+ +
+xsetwacom set <id> button 2 3 +
+
+

Nécessite d’être relancé à chaque démarrage. +

+
+
+
+
+

+12.4 ASCII art generator

+ +
+

Convertir une image en texte ASCII : https://github.com/uvipen/ASCII-generator

+
+
+
+
+ +
+ + diff --git a/S13.html b/S13.html new file mode 100644 index 0000000..9e1cd0d --- /dev/null +++ b/S13.html @@ -0,0 +1,54 @@ + + +13 Windows‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+13 Windows

+
+ +
+

Clé Windows : sudo cat /sys/firmware/acpi/tables/MSDM

+
+
+
+ +
+ + diff --git a/S14.html b/S14.html new file mode 100644 index 0000000..c0c674a --- /dev/null +++ b/S14.html @@ -0,0 +1,703 @@ + + +14 Annexes - Scripts‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+14 Annexes - Scripts

+
+ +
+

Attention, ces scripts sont des scripts que j’ai réalisé il y a parfois longtemps et souvent pour une utilisation unique. Il sont donc non-optimisés et potentiellement cassés. Ils ont fonctionné pour moi et fonctionnent probablement encore mais je conseille de les utiliser avec prudence pour éviter toute perte de fichiers.

+
+
+

+14.1 Trier des fichiers par année

+ +
+

J’avais un gros dossier en vrac de vieilles photos, que je voulais garder mais en créant des dossiers par année pour les retrouver plus facilement. Il se trouve que l’on ne peut pas trouver dans les métadonnées la date de création mais seulement de dernière modification. J’ai reproduit ici ce script comme exemple de script simple et pour qu’il soit réutilisable.

+
+ +
+#!/bin/bash +
+
+echo "Chemin du dossier a trier :" +
+
+read chemin +
+
+cd $chemin +
+
+ls +
+
+#Teste chaque fichier du dossier chemin +
+
+for i in *; do +
+
+        if [ -d "$i" ]; then +
+
+        #-d est l’option pour savoir si un dossier existe, ici on teste si il est utile de l’analyser ou pas +
+
+                echo "C’est un dossier" +
+
+        else +
+
+                annee=‘stat -c ’%y’ "$i" | awk -F - ’{print $1}’ +
+
+                #Sort l’annee de derniere modification +
+
+                #-c utilise le format precise plutot que celui par defaut. ’%y’ date de la derniere modification d’etat en format lisible. +
+
+                #awk -F - precise que le separateur est le tiret et pas un espace +
+
+                #’{print $1}’ s’arrete d’afficher au premier separateur +
+
+                #"$i" entre guillement pour eviter les erreurs avec les espaces dans les noms +
+
+
+
+                if [ -d $annee ]; then +
+
+                        mv "$i" $annee +
+
+                else +
+
+                        mkdir $annee +
+
+                        mv "$i" $annee +
+
+                fi +
+
+        fi +
+
+done +
+
+
+
+
+

+14.2 Post-Installation automatique

+ +
+

Quand on veut réinstaller son ordinateur on sait généralement déjà de quoi on a besoin/envie. Et la force de GNU/Linux est de pouvoir réaliser de nombreuses étapes de post-installation automatiquement. +
Celui-ci permet surtout d’installer les quelques programmes non-installés par défaut mais utiles comme les paquets pour lire les fichiers d’un téléphone android. Il permet aussi d’installer les librairies qui permettent de lire les DVD. +
Si les lignes correspondantes sont décommentées, il permet d’installer VirtualBox. +
Enfin, il peut être utilisé pour copier les fichiers de configuration que vous avez déjà, sous réserve de quelques modifications/ajouts pour les lignes commençants par cp -r. +
Il nécessite bien entendu d’être exécuté en root ou avec sudo.

+
+ +
+#!/bin/sh +
+
+#echo "Dossier des fichiers de config" +
+
+#read dossier +
+
+#echo "nom utilisateur/trice" +
+
+#read id +
+
+echo "Verifier que sudo est bien installe, sinon le script ne pourra pas fonctionner [O/n]" +
+
+read answer +
+
+if [ $answer = "O" ]; then +
+
+        sudo apt update +
+
+        #Utiles et dependances +
+
+        sudo apt install curl ffmpeg accountsservice git tree rsync apt-transport-https numix-gtk-theme numix-icon-theme +
+
+        #Android +
+
+        sudo apt install android-tools-adb android-tools-fastboot gvfs-backends jmtpfs libmtp-common +
+
+        #Bureautique et multimedia +
+
+        sudo apt install gthumb inkscape texmaker handbrake vlc +
+
+        #Utilitaires +
+
+        sudo apt install keepassx gnome-disk-utility +
+
+        #Internet +
+
+        sudo apt install thunderbird transmission pidgin +
+
+
+
+        #cp -r $dossier/.config /home/$id/ +
+
+        #cp -r $dossier/.theme home/$id/ +
+
+        #cp -r $dossier/.mozilla home/$id/ +
+
+
+
+        #Install libdvdcss (necessite apt-transport-https) +
+
+        wget -O - https://download.videolan.org/pub/debian/videolan-apt.asc | sudo apt-key add - && echo "deb https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list +
+
+        echo "deb-src https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list +
+
+
+
+        #Install youtube-dl +
+
+        sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl +
+
+        sudo chmod a+rx /usr/local/bin/youtube-dl +
+
+
+
+        #Install VirtualBox +
+
+        #wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - +
+
+        #wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - +
+
+        #echo "deb https://download.virtualbox.org/virtualbox/debian stretch contrib" |sudo tee -a /etc/apt/sources.list.d/virtualbox.list +
+
+
+
+        sudo apt update +
+
+        #sudo apt-get install virtualbox-6.0 +
+
+        sudo apt install libdvdcss2 +
+
+        #echo "URL de telechargement VMware : https://my.vmware.com/fr/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0" +
+
+        #echo "Pour installer, utiliser la commande sudo bash VMware-xxxx.bundle" +
+
+        #Dependances VMware +
+
+        #sudo apt install libx11-6 libx11-dev x-window-system-core x-window-system xorg-docs libxtst6 psmisc build-essential +
+
+        echo "Installation finie" +
+
+else +
+
+        exit +
+
+fi +
+
+
+
+
+

+14.3 Compression de PDF

+ +
+

Ce script permet de compresser des PDF sans avoir à passer par un utilitaire tiers. +
Note : je n’ai plus aucun souvenirs de comment je l’ai créé, je l’ai juste testé avant de le reproduire ici et il fonctionne.

+
+ +
+#!/bin/bash +
+
+echo "Nom et chemin du fichier a compresser, sans l’extension .pdf" +
+
+read chemin +
+
+echo "Nom et chemin du fichier de sortie, sans l’extension .pdf" +
+
+read sortie +
+
+
+
+gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$sortie.pdf $chemin.pdf +
+
+
+
+
+

+14.4 Écrire soit-même des fortunes en semi-automatique

+ +
+

Les fortunes sont les fichiers permettant d’afficher des citations aléatoires dans un terminal ou dans certains widgets. Il en existe de nombreuses versions mais on peut aussi les créer nous-même, comme c’est un peu fastidieux, j’avais fait un script pour l’occasion. Attention il nécessite d’être exécuté en root car il écrit des fichiers dans des répertoires protégés en écriture. +

+
+ +
+#!/bin/bash +
+
+#Ce script a pour but de faciliter la mise a jour des fichiers fortune. +
+
+echo -e "\033[1;45;41m Ce script necessite les droits d’administrateur pour fonctionner \033[0m" +
+
+echo -e "\033[1;44m Bienvenue dans ce script de mise a jour de fortune \033[0m" +
+
+#Creation d’un fichier texte avec la liste des fichiers fortune (1 par ligne) +
+
+cd /usr/share/games/fortunes +
+
+ls -I "*.dat" -I "*.u8" +
+
+echo -e "\033[1;44mTaper le nom du fichier a modifier, ou" "\033[1;42mNouveau\033[0m""\033[1;44m pour un nouveau fichier\033[0m" +
+
+#cree la variable fichier en lui assignant la valeur tapee +
+
+read num +
+
+if [ $num = Nouveau ]; then +
+
+   echo -e "\033[1;42mEntrer un nom pour le nouveau fichier\033[0m" +
+
+   read fichier +
+
+else +
+
+   for i in * +
+
+   do +
+
+      if [ $num = $i ]; then +
+
+         fichier=$i +
+
+      fi +
+
+   done +
+
+fi +
+
+
+
+if [ -z "$fichier" ]; then +
+
+   echo "Le fichier n’existe pas" +
+
+else +
+
+   echo -e "\033[1;45;41mModification avec nano ou avec le script ?\033[0m" +
+
+   echo -e "\033[1;45;31mNano : 1\033[0m" +
+
+   echo -e "\033[1;45;34mScript : 2\033[0m" +
+
+   read choix +
+
+   if [ $choix = 1 ]; then +
+
+      nano /usr/share/games/fortunes/$fichier +
+
+      echo -e "\033[1;45;41mFin de la modification\033[0m" +
+
+   elif [ $choix = 2 ]; then +
+
+      #initialise la variable rep a 0 pour la boucle while +
+
+      rep=o +
+
+      while [ $rep = o ] +
+
+         #boucle while : tant que la variable rep reste a "o" on peut continuer a rajouter des lignes. +
+
+         #on demande donc a chaque insertion si l’on continue ou pas, si une autre valeur que o est renseignee, le script sort de la boucle while +
+
+         do +
+
+         echo "Entrer la citation a ajouter et appuyer sur [ENTREE]" +
+
+         #assigne la variable ligne a l’insertion au clavier +
+
+         read ligne +
+
+         #ajoute apres la derniere ligne du fichier la variable  ligne +
+
+         echo $ligne >> /usr/share/games/fortunes/$fichier +
+
+         #rajoute une nouvelle ligne avec un % +
+
+         echo % >> /usr/share/games/fortunes/$fichier +
+
+         echo "Continuer ? [o/n]" +
+
+         #enregistre la reponse pour continuer dans rep +
+
+         read rep +
+
+      done +
+
+   fi +
+
+   #mets a jour les autres fichiers fortune +
+
+   strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.u8 +
+
+   strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.dat +
+
+fi +
+
+
+
+exit 0; +
+
+
+
+
+

+14.5 Convertir une archive Youtube en dossier de favoris

+ +
+

Ce projet répondait à un besoin spécifique de récupérer mes playlists Youtube avant de supprimer mon compte. Youtube permet de récupérer une archive de toutes ses données, mais les donne sous forme de fichier .json qui est complètement inutilisable tel quel. +
Mon idée était de récupérer toutes les données et d’en faire un .html exploitable par firefox comme une sauvegarde de favoris et donc en faire un dossier avec par exemple toutes mes vidéos "À voir"ou mes playlists. +
Ce script utilise des fichiers annexes header.txt et prog.sed pour fonctionner et écrit plusieurs fichiers dans le dossier tmp. Il faut les supprimer à chaque nouvelle utilisation. Pour cela vous pouvez utiliser le script rm.sh. +

+
+ +
+#!/bin/bash +
+
+#Conversion .json to id and title +
+
+echo -e "name of .json :" +
+
+read path +
+
+#.json file gives the video id under "videoId" : "example", +
+
+#.json file gives the video title under "title" : "example" +
+
+#For each entry videoId is given twice +
+
+#Remove every lines without "videoId" : " and writes the results in a temp file +
+
+sed ’’’/"videoId" : "/!d’’’ $path &>> /tmp/tmpIds +
+
+#Same thing with titles +
+
+sed ’’’/"title" : "/!d’’’ $path &>> /tmp/Titles +
+
+#There is two lines for each Id but one ends with ", so it removes all those lines +
+
+sed ’’’/",/d’’’ /tmp/tmpIds &>> /tmp/Ids +
+
+#We replace "videoId" by the HTML +
+
+sed ’’’s/      "videoId" : "/\<DT\>\<A HREF="https:\/\/www\.youtube\.com\/watch?v=/g’’’ /tmp/Ids &>> /tmp/Ids2 +
+
+
+
+while read line +
+
+do +
+
+        echo "${line/%\"/</A>}" &>> /tmp/Titles2 +
+
+done < /tmp/Titles +
+
+sed ’’’s/"title" : "/>/g’’’ /tmp/Titles2 &>> /tmp/Titles3 +
+
+
+
+paste -d "" /tmp/Ids2 /tmp/Titles3 &>> links.html +
+
+
+
+sed -f prog.sed links.html &>> linksdone.html +
+
+
+
+cat header.txt linksdone.html >autobookmarks.html +
+
+
+
+echo -e \<\/DL\>\<p\> &>> autobookmarks.html +
+
+echo -e \<\/DL\>\<p\> &>> autobookmarks.html +
+
+cp autobookmarks $path.html’ +
+
+
+
+

+14.5.1 prog.sed

+ +
+
+ +
+i\ \<DL\>\<p\> +
+
+a\ \<\/DL\>\<p\> +
+
+
+
+
+

+14.5.2 header.txt

+ +
+
+ +
+<!DOCTYPE NETSCAPE-Bookmark-file-1> +
+
+<!-- This is an automatically generated file. +
+
+     It will be read and overwritten. +
+
+     DO NOT EDIT! --> +
+
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> +
+
+<TITLE>Bookmarks</TITLE> +
+
+<H1>Bookmarks</H1> +
+
+
+
+
+

+14.5.3 rm.sh

+ +
+
+ +
+#!/bin/bash +
+
+rm /tmp/Titles +
+
+rm /tmp/Titles2 +
+
+rm /tmp/Titles3 +
+
+rm /tmp/Ids +
+
+rm /tmp/Ids2 +
+
+rm /tmp/tmpIds +
+
+rm autobookmarks.html +
+
+rm links.html +
+
+rm linksdone.html +
+
+rm linksdone2.html +
+
+rm linkstmp +
+
+
+
+
+
+
+ +
+ + diff --git a/S2.html b/S2.html new file mode 100644 index 0000000..11f0b2a --- /dev/null +++ b/S2.html @@ -0,0 +1,773 @@ + + +2 Installations‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+2 Installations

+
+ +
+

+2.1 Système

+ +
+

+2.1.1 Créer une clé USB Bootable

+ +
+

Attention, cette commande nécessite de savoir précisément l’identification de votre clé usb, sinon vous risquez de perdre toutes vos données en formattant votre disque dur. +
Pour plus d’informations : https://doc.ubuntu-fr.org/live_usb#en_ligne_de_commandes +

+
+ +
+sudo dd bs=4M status=progress if=votre.iso of=/dev/sdX && sync +
+
+
+
+
+

+2.1.2 Créer une clé USB live avec plusieurs ISOs

+ +
+

Il est également possible d’utiliser plusieurs images dans une seule clé. Pour cela on peut installer multibootusb (http://multibootusb.org/page_download/). Pour l’installer : +

+
+ +
+sudo dpkg -i python3-multibootusb_9.2.0-1_all.deb +
+
+

Si vous rencontrez des problèmes de dépendances non satisfaites, relevez les noms de ces paquets, installez les puis répétez la commande ci-dessus. +
Exécutez ensuite le programme avec sudo multibootusb. +

+
+
+
+

+2.1.3 Vérification d’ISO

+ +
+

La vérification d’iso consiste à vérifier l’authenticité et l’intégrité des images téléchargées. La méthode exacte sera spécifique à chaque .iso car les fichiers et signatures ne seront pas la même, cette partie présentera donc des commandes usuelles mais ne permet pas de réaliser toutes les étapes sans regarder la documentation spécifique à la vérification souhaitée. +
Tentative d’explication : l’authenticité permet de vérifier que le fichier téléchargé a bien été créé par la personne qui dit l’avoir signée. L’intégrité permet de vérifier que le fichier n’a pas été modifié par une personne tiers. Ces méthodes ne peut pas prouver que le fichier n’est pas malicieux, on doit donc choisir de nous-même si l’on fait confiance aux personnes qui ont créé ces fichiers. +Tout d’abord, télécharger dans le même fichier le .iso (ou autre format, mais le fichier de l’image logiciel) et les fichiers de signature SHA256sum.txt et SHA256sum.txt.gpg (de même, les extensions de fichier peuvent varier). +
Il faut ensuite générer le SHA256sum de l’iso téléchargé afin de le comparer au fichier téléchargé. +Générer le SHA256sum :

+
+ +
+sha256sum -b *.iso +
+
+

Il faut ensuite comparer la signature obtenue à celle contenue dans SHA256sum.txt. Une méthode permet de le faire à partir d’une ligne de commande :

+
+ +
+sha256sum --ignore-missing -c sha256sum.txt +
+
+

Vérification d’authenticité +

+
+
+

Pour vérifier l’authenticité de SHA256sum.txt il faut vérifier la signature de SHA256sum.txt.gpg. +
Il faut tout d’abord importer la clé de signature du système d’exploitation, pour Debian :

+
+ +
+gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF +
+
+gpg --verify sha256sum.txt.gpg sha256sum.txt +
+
+
+
+
+

+2.1.4 Retirer le bip du clavier

+ +
+

Il arrive qu’après une nouvelle installation le clavier bip en cas d’entrée vide. +Pour l’enlever : +

+
+ +
+echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf +
+
+

Le bruit aura disparu après un redémarrage.

+
+
+
+

+2.1.5 Faire apparaître GRUB au démarrage

+ +
+

Après une nouvelle installation de Manjaro, je n’avais pas accès à GRUB au démarrage et je ne pouvais pas changer de noyau. Cela était dû au fait que GRUB était configuré comme caché. On peut le modifier dans son fichier de configuration : /etc/default/grub. +Il suffit de changer

+
+ +
+GRUB_TIMEOUT_STYLE="hidden" +
+
+

en

+
+ +
+GRUB_TIMEOUT_STYLE="menu" +
+
+

Il est aussi possible de changer le temps d’affichage de GRUB avec la variable GRUB_TIMEOUT. +
Pour que les changements soient pris en compte :

+
+ +
+sudo update-grub +
+
+
+
+
+
+

+2.2 Terminal

+ +
+

+2.2.1 Changer de shell - Zsh

+ +
+

Le shell par défaut des principales distributions Linux est bash, un autre shell populaire offrant de nombreuses fonctionnalités est zsh et son extension populaire oh-my-zsh. +Pour l’utiliser il faut d’abord l’installer : +

+
+ +
+sudo apt install zsh +
+
+

pour Arch Linux ou Manjaro :

+
+ +
+sudo pacman -S zsh +
+
+

On peut vérifier qu’il est bien installé avec :

+
+ +
+zsh --version +
+
+

Pour changer de shell par défaut et pour passer à zsh : +

+
+ +
+chsh -s $(which zsh) +
+
+

Il faut ensuite se déconnecter pour mettre à jour le changement. +

+
+
+

Installer oh-my-zsh

+
+ +
+sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" +
+
+

Wiki : https://github.com/ohmyzsh/ohmyzsh/wiki +

+
+
+

Il est maintenant possible de configurer à nos souhaits ce shell via le fichier .zshrc. +

+
+
+

Deux vidéos intéressantes pour comprendre les fonctionnalités disponibles et comment les utiliser : +
https://www.youtube.com/watch?v=4KBuPCeF9Gc +
https://www.youtube.com/watch?v=soAwUq2cQHQ

+
+
+
+

+2.2.2 Ajouter des plugins facilement dans Vim

+ + +
+
+

+2.2.3 Colorer les codes couleurs html/rgb etc

+ +
+

Un plugin pour surligner de la couleur correspondante les codes couleurs dans Vim : +
https://github.com/gko/vim-coloresque

+
+
+
+
+

+2.3 Disques chiffrés

+ +
+

+2.3.1 Monter un disque chiffré en ligne de commande

+ +
+

Monter un disque chiffré ne requiert pas les mêmes commandes que pour un disque normal, mais c’est finalement assez simple. +
Tout d’abord vous devez bien entendu avoir cryptsetup d’installé sur votre système. +

+
+ +
+sudo apt install cryptsetup +
+
+

Ensuite on aura ces opérations à réaliser :

+
+ +
+sudo cryptsetup luksOpen /dev/sdc1 cryptdrive +
+
+sudo mkdir /media/MONDISQUE +
+
+sudo mount /dev/mapper/cryptdrive /media/MONDISQUE/ +
+
+

Le /dev/sdc1 donne l’information de la partition que vous voulez monter, et cryptdrive est le mapper que vous nommez pour que le système reconnaisse le disque. +
La deuxième ligne est optionnelle si l’emplacement de montage souhaité existe déjà. +
La dernière commande est la commande habituelle de montage : identification du disque à monter et l’emplacement où le monter. +

+
+
+
+

+2.3.2 Monter un disque chiffré automatiquement au démarrage

+ +
+

Il est possible de monter automatique le disque chiffré sans avoir à renseigner la phrase de déchiffrement si vous configurez un fichier "clé" et l’utilisez au démarrage. +
Mon "tuto" est seulement un rappel des commandes nécessaires, sans grandes explications car tout est bien détaillé dans la source que j’ai utilisé. Si cela ne fonctionne pas parfaitement il y a plus de détails dans l’article source. +Source : https://blog.tinned-software.net/automount-a-luks-encrypted-volume-on-system-start/ +
On commence par créer un fichier disksecretkey rempli aléatoirement qui servira à contenir la clé de déchiffrement. Il faudra peut être créer le dossier luks-keys si il n’existe pas.

+
+ +
+dd if=/dev/urandom of=/etc/luks-keys/disksecretkey bs=512 count=8 +
+
+

On peut ensuite lier ce fichier à notre disque et sa phrase de déchiffrement :

+
+ +
+sudo cryptsetup -v luksAddKey /dev/sdb1 /etc/luks-keys/disksecretkey +
+
+

Cela vous demandera la phrase de déchiffrement de votre disque (attention à bien renseigner votre partition à la place de sdb1). +
Ensuite on récupère le UUID du disque pour l’utiliser dans les règles au démarrage :

+
+ +
+sudo cryptsetup luksDump /dev/sdb1 | grep "UUID" +
+
+

On ajoute une règle dans le fichier /etc/crypttab :

+
+ +
+sdb1-crypt UUID=2a2375bf-2262-413c-a6a8-fbeb14659c85 /etc/luks-keys/disksecretkey luks +
+
+

Enfin, pour qu’il soit monté au démarrage on ajoute une ligne au fichier dédié : /etc/fstab

+
+ +
+/dev/mapper/sdb1-crypt /media/gerhard/Daten ext4    defaults   0       2 +
+
+

Pour des règles plus spécifiques consultez la page dédiée à fstab : http://man7.org/linux/man-pages/man5/fstab.5.html

+
+
+
+
+

+2.4 Customisation, paramétrage

+ +
+

+2.4.1 Installer une police au format fichier .ttf

+ +
+

Pour l’installer seulement pour l’utilisateur·ice :

+
+ +
+cp exemple.ttf .fonts +
+
+

Pour l’installer sur tout le système :

+
+ +
+cp exemple.ttf /usr/share/fonts +
+
+
+
+
+

+2.4.2 Changer l’image de grub (écran de démarrage)

+ +
+

Il est possible de changer l’image d’arrière plan de GRUB, l’utilitaire de démarrage de Debian (et d’autres distribution) qui permet de choisir quelle distribution lancer. +
L’image utilisée doit cependant respecter un format spécifique, elles peuvent être png, jpg/jpeg ou tga mais avec ces caractéristiques : +

+
    +
  1. +1. +
    +

    les images doivent être 8-bits (256 couleurs)

    +
    +
  2. +
  3. +2. +
    +

    les images doivent être non-indexées, RGB

    +
    +
  4. +
+

Des convertisseurs d’images pour les transformer sous ces caractéristiques sont trouvables sur internet. +
Par défaut, si le paquet desktop-base est installé les images utilisables sont trouvables dans le répertoire /usr/share/images/desktop-base/. +
GRUB va chercher l’image à afficher selon un ordre particulier présenté ici par ordre de priorité : +

+
    +
  1. +1. +
    +

    la ligne GRUB_BACKGROUND dans /etc/default/grub

    +
    +
  2. +
  3. +2. +
    +

    la première image trouvée dans /boot/grub/

    +
    +
  4. +
  5. +3. +
    +

    l’image spécifiée dans /usr/share/desktop-base/grub_background.sh

    +
    +
  6. +
  7. +4. +
    +

    le fichier listé à la ligne WALLPAPER dans /etc/grub.d/05_debian_theme

    +
    +
  8. +
+

Le plus simple étant donc de modifier ou créer la ligne GRUB_BACKGROUND= dans +/etc/default/grub en ajoutant le chemin du fichier derrière le =. pour modifier ce fichier, il est nécessaire d’avoir les droits administrateur. +Pour avoir la modification effective, il faut utiliser la commande : +
update-grub +
Changer les couleurs du texte : +
On peut également changer les couleurs du texte grâce aux 3 options suivantes :

+
    +
  1. +1. +
    +

    menu_color_highlight : la couleur de l’entrée menu surlignée et son fond à l’intérieur du menu.

    +
    +
  2. +
  3. +2. +
    +

    menu_color_normal : la couleur de l’entrée menu non-sélectionnée et son fond

    +
    +
  4. +
  5. +3. +
    +

    color_normal : la couleur du texte et son fond à l’extérieur du menu. +

    +
    +
  6. +
+

La syntaxe à utiliser est la suivante : +menu_color_highlight=fg-color/bg-color +Et la liste des couleurs supportées est : +
black +
blue +
brown +
cyan +
dark-gray +
green +
light-cyan +
light-blue +
light-green +
light-gray +
light-magenta +
light-red +
magenta +
red +
white +
yellow +
Pour changer les couleurs, il faut ensuite ouvrir /etc/grub.d/05_debian_theme et trouver la ligne :

+
+ +
+if [ -z "${2}" ] && [ -z "${3}" ]; then +
+
+                echo "  true" +
+
+fi +
+
+

Et la remplacer par :

+
+ +
+if [ -z "${2}" ] && [ -z "${3}" ]; then +
+
+    # echo "  true" +
+
+    echo "    set color_highlight=red/green" +
+
+    echo "    set color_normal=light-cyan/black" +
+
+fi +
+
+

Ne pas changer le "black" dans color_normal sinon l’image ne sera pas transparente à l’endroit où le menu est affiché. +
Pour avoir la modification effective et la visualiser, il faut utiliser la commande suivante et redémarrer +
update-grub +

+
+
+

Il est également possible d’expérimenter en "live" au démarrage en arrêtant le compte à rebours (en tapant n’importe quelle touche) et en tapant "C" pour entrer dans la ligne de commande GRUB. +
Vous pouvez alors expérimenter à votre souhait :

+
+ +
+grub> set color_highlight=red/green +
+
+grub> set color_normal=light-cyan/black +
+
+

Pressez ESC pour voir les modifications et recommencez si cela ne vous convient pas. +

+
+
+
+

+2.4.3 Utiliser le pavé numérique comme souris

+ +
+

Il est possible d’utiliser le pavé numérique comme une souris ! Pour l’activer de manière non permanente il suffit d’utiliser :

+
+ +
+setxkbmap -option keypad:pointerkeys +
+
+

Ensuite pour l’utiliser il faut utiliser la combinaison Shift+NumLock et le pavé numérique fonctionnera comme une souris avec des raccourcis spécifiques. +
Pour se déplacer :

+
    +
  • + +
    +

    7, 8, 9 pour un déplacement vers le haut

    +
    +
  • +
  • + +
    +

    4, 6 pour gauche et droite

    +
    +
  • +
  • + +
    +

    1, 2, 3 pour le bas

    +
    +
  • +
+

Pour cliquer c’est légèrement compliqué :

+
    +
  • + +
    +

    / sélectionne le clic gauche (appuyer deux fois pour un double clic, trois fois pour un triple)

    +
    +
  • +
  • + +
    +

    * sélectionne le clic du milieu

    +
    +
  • +
  • + +
    +

    - sélectionne le clic droit

    +
    +
  • +
+

Une fois que le clic est sélectionné il est seulement actif et il faut donc utiliser une autre touche pour l’utiliser :

+
    +
  • + +
    +

    5 ou + pour réellement cliquer

    +
    +
  • +
  • + +
    +

    0 / ins pour cliquer et garder actif (pour faire glisser)

    +
    +
  • +
  • + +
    +

    . / Del pour libérer

    +
    +
  • +
+

Pour garder cette configuration au redémarrage il faut ajouter l’option dans le fichier de configuration, ou le créer si besoin : +
/etc/X11/xorg.conf.d/00-keyboard.conf

+
+ +
+Section "InputClass" +
+
+        Identifier "system-keyboard" +
+
+        MatchIsKeyboard "on" +
+
+        Option "XkbOptions" "keypad:pointerkeys" +
+
+EndSection +
+
+

Source : https://linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg

+
+
+
+

+2.4.4 Luminosité

+ +
+

Pour régler la luminosité en ligne de commande, on utilise xrandr. +
Tout d’abord on cherche l’écran que l’on veut paramétrer :

+
+ +
+~$ xrandr +
+
+Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 +
+
+LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) +
+
+

On voit donc que l’écran connecté est LVDS-1. Pour le baisser à 50% de luminosité :

+
+ +
+xrandr --output LVDS-1 --brightness 0.5 +
+
+

Pour toute autre valeur on ajuste le nombre renseigné (1 pour avoir 100%, 0.1 pour 10% etc). +

+
+
+

J’ai trouvé une manière de changer la luminosité après quelques recherches, c’est probablement une manière beaucoup trop compliquée de faire mais c’est pratique pour apprendre les commandes et ça fonctionne. +
J’ai fait trois scripts différents, un pour augmenter de 10% la luminosité, un pour la baisser et un dernier pour juste afficher la luminosité actuelle en pourcentage. +
Ces scripts sont composés de seulement une ligne mais avec plusieurs commandes dedans. Ainsi, celle-ci permet de baisser la luminosité de 10% : +

+
+ +
+xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)-.1" | bc) +
+
+

On retrouve la commande de départ avec le --output avec le nom de votre écran puis --brightness qui prend la valeur en décimale qu’on veut pour l’écran (1.0 pour 100% et 0.1 pour 10%). On cherche d’abord la luminosité actuelle. +

+
+ +
+xrandr --current --verbose|grep -i Brightness +
+
+

Donne quelque chose comme :

+
+ +
+Brightness: 1. +
+
+

On utilise alors :

+
+ +
+| sed s/"Brightness: "//g +
+
+

Le signe | permet d’envoyer le résultat de la commande à gauche dans la commande à droite. +
Cela permet de récupérer seulement la valeur décimale. +Puis on utilise -.1 pour enlever 10% à la valeur trouvée. +

+
+
+

En bash on ne peut pas faire du calcul en décimal puisque les valeurs sont considérés comme des chaînes de caractères. Il faut alors utiliser bc : http://jlbicquelet.free.fr/unix/bc.php. +
bc prend comme argument la valeur de la parenthèse (à l’aide du signe $) et fait le calcul, qui nous rend donc la valeur actuelle de la luminosité moins 10%. +

+
+
+

De la même manière, on a la commande pour augmenter de 10% : +

+
+ +
+xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)+.1" | bc) +
+
+
+
+

Enfin, j’ai fait une commande pour récupérer la valeur actuelle de la luminosité et la convertir en pourcentage : +

+
+ +
+echo $(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)*100 | bc +
+
+

On retrouve la même base sauf que le calcul est seulement une multiplication par 100 de la valeur actuelle. Cette commande est utilisée pour mon widget de luminosité. +

+
+
+
+

+2.4.5 Changement image de profil

+ +
+

Pour modifier l’image affichée sur l’écran de connexion.

+
+ +
+sudo nano /etc/lightdm/lightdm-gtk-greeter.conf +
+
+

Le paquet accountsservice résoud une dépendance et permet d’utiliser mugshot qui définit la photo de profil du compte. +

+
+
+
+
+

+2.5 Chercher et supprimer des fichiers en doublon

+ +
+

On utilise le paquet fdupes : +

+
+ +
+fdupes [options] DIRECTORY +
+
+

Pour chercher les doublons récursivement dans un dossier et les supprimer : +

+
+ +
+fdupes -r -d DIRECTORY +
+
+

Sources : : https://linux.die.net/man/1/fdupes +

+
+
+

Une autre solution est d’utiliser fslint :

+
+ +
+sudo apt install fslint +
+
+
+
+
+

+2.6 Compresser des images en ligne de commande

+ +
+

sudo apt-get install jpegoptim

+
+
+
+
+ +
+ + diff --git a/S3.html b/S3.html new file mode 100644 index 0000000..4cc05a6 --- /dev/null +++ b/S3.html @@ -0,0 +1,62 @@ + + +3 Manjaro - Arch Linux‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+3 Manjaro - Arch Linux

+
+ +
+

+3.1 Ressources diverses

+ + +
+
+
+ +
+ + diff --git a/S4.html b/S4.html new file mode 100644 index 0000000..1f0d784 --- /dev/null +++ b/S4.html @@ -0,0 +1,164 @@ + + +4 Awesome WM et la customisation avancée‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+4 Awesome WM et la customisation avancée

+
+ +
+

La plupart des distributions utilisent par défaut des gestionnaires de fenêtres "flottantes" : XFCE, MATE, GNOME, etc. Il existe cependant des gestionnaires en mosaïque (Tiling managers) qui permettent de gérer plus précisément ses fenêtres et tout son environnement graphique (à condition de bien vouloir y passer quelques heures de configuration). J’en ai rapidement testé plusieurs mais Awesome est celui dont j’ai le mieux réussi la prise en main et donc que j’utilise en ce moment. +
En parallèle de ce gestionnaire j’utilise : kitty en terminal, vim en éditeur, compton pour la transparence, ranger pour les fichiers et conky pour mon affichage de données en continu sur le bureau.

+
+
+

+4.1 Où sont les fichiers ?

+ +
+

Souvent, l’emplacement des fichiers de configuration est "évidente" pour les personnes partageant leurs codes sur internet, et pourtant… +

+
+
+

J’essaye d’utiliser Vim pour éditer mes fichiers. Parce que apparemmment c’est la référence pour être efficace et qu’il est configurable pour avoir de la saisie semi-automatique dans LateX. Il est dur de prise en main mais super pratique quand on (commence) à s’y faire. +
Pour l’édition des thèmes il est presque indispensable grâce à l’extension que j’ai installée qui surligne les codes des couleurs par leur couleur correspondante. +

+
+ +
+~/.vim/ +
+
+~/.vimrc +
+
+

Pour les raccourcis : https://vim.rtorr.com/ +Pour le gestionnaire de fichier j’utilise au maximum ranger qui permet d’afficher les fichiers textes sans avoir à les ouvrir, très pratique pour explorer les dossier de code. Il s’utilise au clavier et peut être super rapide et pratique une fois qu’on s’y fait. +
J’utilise : https://ranger.github.io/cheatsheet.png pour les raccourcis. Les fichiers de configurations sont dans :

+
+ +
+~/.config/ranger/ +
+
+

Ici les modifications sont le fait d’afficher les fichiers cachés et d’activer l’affichage des images directement dans kitty. +

+
+
+

Pour le terminal, j’utilise kitty. Il est sobre et permet d’afficher les images en utilisant ranger.

+
+ +
+~/.config/kitty/ +
+
+

Contient le thème dans theme.conf basé sur mon thème actuel. +

+
+
+

J’ai installé et configuré Conky pour avoir un affichage permanent de pas mal de données sur le Bureau. +Tout est dans un fichier .conkyrc dans le dossier utilisateur·ice. Il utilise une image dans Images/ImagesConfig/. Il dépend surtout des polices installées et les données sur le réseau utilise le nom d’interface réseau qui peut être différente selon les ordinateurs (pour l’ethernet comme pour le wifi). +

+
+
+

Pour la transparence, j’utilise compton et son fichier de configuration .config/compton.conf. Il permet de choisir la transparence des fenêtres actives/inactives, les exclusions, et "l’ombre" sur les fenêtres inactives. +

+
+
+

Pour les thèmes, les fichiers sont à trouver et/où copier ici :

+
+ +
+~/.themes/ +
+
+~/.fonts/ +
+
+~/.icons/ +
+
+
+
+

Pour Awesome j’utilise du code trouvé sur internet, et plusieurs dossiers de dépendances pour les widgets. Le fichier rc.lua sert à définir le fonctionnement global (comportement des fenêtres, programmes au démarrage, par défaut, raccourcis clavier, etc) puis dans le dossier themes on trouve tout ce qui est esthétique. +
Le dossier où tout se passe est ici : +

+
+ +
+~/.config/awesome/ +
+
+
+
+
+

+4.2 Dépendances

+ +
+
+ +
+sudo apt install awesome awesome-extra i3lock conky compton kitty vim-runtime ranger lxappearance pulsemixer papirus-icon-theme numix-icon-theme +
+
+
+
+

J’utilise pulsemixer parce que j’ai réussi à le configurer dans mes raccourcis clavier pour qu’il soit compatible avec mon casque bluetooth.

+
+
+

Lxappearance est nécessaire pour changer le thème utilisé. En effet le programme de xfce ne fonctionne pas dans Awesome (les modifications ne sont pas prises en compte).

+
+
+

J’utilise kitty parce que c’est un terminal très épuré, il a aussi l’avantage de pouvoir afficher les images en étant dans ranger (gestionnaire de fichiers intégré au terminal, avec beaucoup de raccourcis clavier, les mêmes que Vim).

+
+
+

Vim est la référence apparemment pour éditer le code grâce à ses dizaines de raccourcis clavier, je l’ai pas mal configuré pour pouvoir écrire plus facilement du Latex. Et j’utilise un plugin très pratique qui affiche les couleurs du code (les codes couleurs RVB et HTML sont surlignés de la couleur correspondante, très pratique pour l’édition des thèmes).

+
+
+

Sur GitHub : +i3lock-fancy

+
+
+
+
+ +
+ + diff --git a/S5.html b/S5.html new file mode 100644 index 0000000..94e39ae --- /dev/null +++ b/S5.html @@ -0,0 +1,295 @@ + + +5 Yunohost, Brique Internet et autres serveur-like tips‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+5 Yunohost, Brique Internet et autres serveur-like tips

+
+ +
+

+5.1 Brique Internet sur clé 4G

+ +
+

Le projet labriqueinter.net permet d’installer un mini-serveur sur une carte ARM ou Rasberry (ou autre) avec la particularité de créer un réseau wifi lié à un VPN. Tous les appareils connectés sont alors protégés par le VPN si ils se connectent à ce réseau plutôt qu’à celui de la box. Le projet est basé sur yunohost.org lui même basé sur Debian, permettant de faciliter l’installation et l’utilisation d’un serveur pour les non-initié·es. +

+
+
+

Mon cas est particulier pour deux raisons :

+
    +
  1. +1. +
    +

    J’utilise une carte OLIMEX LIME 1, pour laquelle il n’y a pas d’images pour la dernière version du projet, il faut donc réaliser une migration après avoir installé la version précédente. +

    +
    +
  2. +
  3. +2. +
    +

    J’utilise une clé 4G Huawei pour me connecter et non un câble ethernet, il faut donc configurer la carte pour qu’elle se connecte sur cette clé au démarrage. +

    +
    +
  4. +
+
+
+

Ces deux particularités m’ont causé pas mal de soucis avant de finalement réussir une installation. Une réinstallation est maintenant l’occasion pour moi de documenter les opérations nécessaires. +

+
+
+

+5.1.1 Installation, post-installation

+ +
+

J’ai utilisé le programme disponible sur install.labriqueinter.net pour générer mon fichier install.hypercube. Il faut ensuite utiliser le script fourni install-sd.sh pour installer les fichiers sur la carte sd. Comme il manque la dernière version de l’image pour la LIME1 il y a une erreur à l’exécution. +
Deux solutions sont alors possibles : installer via une image brique internet Jessie puis faire la migration vers Stretch, ou faire une image brique internet à partir d’une image Yunohost. La première option n’a pas fonctionné pour moi et elle prend énormément de temps avec toutes les mises à jour à faire. +
On préfèrera donc la méthode : +

+ +

Ma commande d’exécution est celle-ci :

+
+ +
+bash install-sd.sh -y install.hypercube -f internetcube-stretch-3.4.2-lime-stable.img +
+
+

L’option -s permet de préciser quel périphérique utiliser si vous savez déjà l’emplacement de celui-ci. +Vous avez besoin d’avoir arp-scan pour la suite :

+
+ +
+sudo apt install arp-scan +
+
+bash install-sd.sh -l +
+
+

La deuxième commande permet de scanner le réseau pour détecter la brique en cours d’installation. Cela vous donnera l’adresse IP de la brique pour suivre l’avancement de l’installation. +

+
+
+
+

+5.1.2 Monter la clé 4G au démarrage comme interface réseau

+ +
+

J’utilise une clé Huawei E3372h, j’ai suivi des tutoriels pour la passer de hilink à stick mais je ne suis pas certain que cela soit nécessaire finalement, je vous conseille d’essayer d’abord les commandes suivantes avant d’essayer de faire le changement de mode. +
Je partage cependant les liens qui m’ont permis de réaliser ce changement (cela m’a nécessité l’utilisation de linux mais aussi windows) : +
https://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/ +
http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html +
https://markus.relix.de/index.php/Set_Huawei_E3372h_from_hilink_to_stick_mode +

+
+
+

Lors de mes premiers tests j’ai testé plusieurs méthodes souvent sans résultats, la solution vient finalement de ce post : https://askubuntu.com/questions/755570/how-to-enable-broadband-connection-with-huawei-e3372h-on-ubuntu-server +
Ces explications permettent pour mon cas d’ajouter deux lignes dans /etc/rc.local permettant de démarrer la brique en utilisant la clé 4G comme interface réseau. Ce fichier est celui qui permet de lancer des commandes au démarrage. +
rc.local

+
+ +
+#!/bin/sh -e +
+
+# +
+
+# rc.local +
+
+# +
+
+# This script is executed at the end of each multiuser runlevel. +
+
+# Make sure that the script will "exit 0" on success or any other +
+
+# value on error. +
+
+# +
+
+# In order to enable or disable this script just change the execution +
+
+# bits. +
+
+# +
+
+# By default this script does nothing. +
+
+echo -e "AT^NDISDUP=1,1,\"websfr\"\r" > /dev/ttyUSB0 +
+
+dhclient wwan0 +
+
+exit  +
+
+

Le websfr doit être modifié pour correspondre à l’APN de votre opérateur. +

+
+
+

À la suite de ma réinstallation éditer ce fichier est tout ce qu’il m’a fallu faire pour que cela fonctionne. +

+
+
+
+
+

+5.2 Utilisation de deux serveurs avec un domaine principal et un sous-domaine

+ +
+

J’utilise deux serveur, un comme brique internet sur clé 4G, et un autre en serveur principal pour les gros services. Ils ont donc deux adresses IP publiques différentes. +
Il me fallait donc bien configurer mes enregistrements DNS pour renvoyer mon sous-domaine dédié à la brique internet vers son adresse IP publique, ainsi que pouvoir lui installer un certificat SSL (pour l’https). +
Il y a donc deux champs à rajouter aux enregistrements DNS : +

+ +

En suivant ces documentations on a donc :

+
+ +
+brique 1800 IN A votre.ip +
+
+brique.votredomaine.com 3600 IN CAA 128 issue "letsencrypt.org" +
+
+
+
+

+5.2.1 Enlever le bouton Yunohost permanent dans les applications

+ +
+

Certaines applications affiche par défaut en bas à droite un lien avec le logo de yunohost. Pour l’enlever il faut modifier la configuration de nginx pour chaque application. +
Il suffit de commenter la ligne :

+
+ +
+include conf.d/yunohost_panel.conf.inc +
+
+

Les fichiers de config sont dans : /etc/nginx/conf.d/ (cela peut varier). +
Pour info le script appelé est le suivant : +

+
+ +
+# Insert YunoHost button + portal overlay +
+
+sub_filter </head> ’<script type="text/javascript" src="/ynh_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynh_overlay.css"></link><script type="text/javascript" src="/ynhtheme/custom_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynhtheme/custom_overlay.css"></link></head>’; +
+
+sub_filter_once on; +
+
+# Apply to other mime types than text/html +
+
+sub_filter_types application/xhtml+xml; +
+
+# Prevent YunoHost panel files from being blocked by specific app rules +
+
+location ~ (ynh_portal.js|ynh_overlay.css|ynh_userinfo.json) { +
+
+} +
+
+

Pour voir les changements il faut recharger nginx +

+
+ +
+sudo systemctl restart nginx +
+
+
+
+
+
+
+ +
+ + diff --git a/S6.html b/S6.html new file mode 100644 index 0000000..f7bc743 --- /dev/null +++ b/S6.html @@ -0,0 +1,184 @@ + + +6 Sauvegardes‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+6 Sauvegardes

+
+ +
+

+6.1 Android - Utilisation de adb

+ +
+

Installation :

+
+ +
+sudo apt-get install android-tools-adb android-tools-fastboot +
+
+

Détection :

+
+ +
+adb devices +
+
+

Sauvegarde :

+
+ +
+adb backup -apk -shared -all -f backup.ab +
+
+

Restaurer :

+
+ +
+adb restore backup.ab +
+
+
+
+
+

+6.2 GNU-Linux

+ +
+

+6.2.1 Le paquet rsync

+ +
+

Le paquet rsync permet de sauvegarder ses données par copies. Il copie tous les fichiers sources vers la destination que vous avez choisie. Ensuite, il ne mettra à jour que ceux qui ont été modifiés ou ajoutés. D’où un gain de temps. De plus, rsync peut aussi être utilisé à travers un réseau. +

+
+
+

Syntaxe de base : rsync [option] /source /destination +

+
+
+

Copier un dossier intégralement

+
+ +
+rsync -av /source /destination +
+
+

Copier seulement son contenu

+
+ +
+rsync -av /source/ /destination +
+
+

Transfert via SSH, avec un port spécifique

+
+ +
+rsync -avzh -e "ssh -p $PORT" --progress /source/ user@domain.net:/destination/ +
+
+

Lors d’un téléchargement distant par ssh, en cas de coupure

+
+ +
+rsync --partial --progress --rsh=ssh [source] [user]@[host]:[destination] +
+
+

L’option –partial relance depuis le point d’arrêt, –progress affiche la progression et –rsh=ssh sécurise le transfert. +

+
+
+

Exemple :

+
+ +
+rsync -r -t -x -v -n --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" --filter "+ jeVeuxCeluiCi.txt" /home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/ | more +
+
+

-r fait une copie récursive +
-S, traite les fichiers à trous efficacement +
-x, ne traverse pas les limites du système de fichiers +
-n, simule la sauvegarde sans ne rien faire réellement +
–progress affiche la progression +
–filter permet de désigner les dossiers que l’on ne veut pas sauvegarder (signe -) ou que l’on veut ajouter à la liste (signe +) +
enlever le -n et |more pour que la sauvegarde se fasse une fois satisfait. +

+
+
+

Interfaces graphiques disponibles : grsync et luckybackup +

+
+ +
+
+

+6.2.2 Sauvegarde complète de Debian avec un script

+ +
+

À l’aide du paquet présenté ci-dessus il est possible de créer un ou des scripts qui sauvegarderont vos données sur un disque externe ou même sur le réseau. Je décris ici la méthode pour une sauvegarde de la racine (fichier de configuration, paquets, réglages des paquets, etc) et des fichiers personnels. +
Cette partie demande de connaître l’organisation des fichiers dans un système GNU/Linux et comment les contrôler dans un terminal. +
Cette partie demande en particulier des précautions car elle consiste à modifier ses fichiers avec un contrôle root et cela n’est pas sans risques. +
Il faut en particulier adapter les noms des partitions de ce guide à son propre système. +
Pour identifier ses disques, tapez (en root) :

+
+ +
+:~# fdisk -l +
+
+

Vérifiez que vous n’avez aucun périphérique usb branché, éteignez et débranchez votre ordinateur, rallumez pour identifier votre disque source. Remettez hors tension, branchez le ou les disques externes, rallumez et identifiez les disques en root. +Si vous utilisez un seul disque externe vous devriez trouver : +
/dev/sda ### disque source +
/dev/sdb ### disque des sauvegardes +
Documentation : https://wiki.debian-fr.xyz/Sauvegarder_sa_Debian_en_vue_d%27une_R%C3%A9installation_ou_Reconstruction_-_Racine_et_Home_s%C3%A9par%C3%A9s

+
+
+
+
+
+ +
+ + diff --git a/S7.html b/S7.html new file mode 100644 index 0000000..16a5a89 --- /dev/null +++ b/S7.html @@ -0,0 +1,83 @@ + + +7 Logiciels‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+7 Logiciels

+
+ +
+

Lister les paquets installés

+
+ +
+dpkg-query -l +
+
+

Documentation : https://wiki.debian.org/fr/ListInstalledPackages

+
+
+

+7.1 Graphisme

+ +
+

Logiciels utiles :

+
    +
  1. +1. +
    +

    Dessin vectoriel : Inkscape

    +
    +
  2. +
  3. +2. +
    +

    Édition basique d’images : gthumb

    +
    +
  4. +
+
+
+
+
+ +
+ + diff --git a/S8.html b/S8.html new file mode 100644 index 0000000..bd77586 --- /dev/null +++ b/S8.html @@ -0,0 +1,220 @@ + + +8 Développement Web‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+8 Développement Web

+
+ +
+

+8.1 HTML

+ +
+

+8.1.1 Centrer une image

+ +
+

Centrer une image dépendra de son conteneur, je transcris ici la version simple (dans un paragraphe) et ma source détaille différents cas de figure. +
Le code dans le corps de la page :

+
+ +
+<p class="aligncenter"> +
+
+    <img src="image.jpg" alt="centered image" /> +
+
+</p> +
+
+

Ce code appelle donc la classe aligncenter définie comme :

+
+ +
+<style> +
+
+.aligncenter { +
+
+    text-align: center; +
+
+} +
+
+</style> +
+
+

Source : https://html-online.com/articles/image-align-center/

+
+
+
+

+8.1.2 Faire un fond de page web qui change aléatoirement de couleur

+ +
+

Ce code permet de changer toutes les 5 secondes la couleur du fond de la page. Il utilise 10 couleurs qui peuvent être modifiée, et on peut rajouter plus de couleurs en rajoutant des choix et en changeant à la bonne valeur la gamme de génération d’entier aléatoire. +

+
+ +
+<!-- this script got from www.htmlbestcodes.com-Coded by: Krishna Eydat --> +
+
+<html> +
+
+<head> +
+
+<script type="text/javascript"> +
+
+      function setbackground() +
+
+      { +
+
+      window.setTimeout( "setbackground()", 5000); // 5000 milliseconds delay +
+
+
+
+      var index = Math.round(Math.random() * 9); +
+
+
+
+      var ColorValue = "FFFFFF"; // default color - white (index = 0) +
+
+
+
+      if(index == 1) +
+
+      ColorValue = "FFCCCC"; //peach +
+
+      if(index == 2) +
+
+      ColorValue = "CCAFFF"; //violet +
+
+      if(index == 3) +
+
+      ColorValue = "A6BEFF"; //lt blue +
+
+      if(index == 4) +
+
+      ColorValue = "99FFFF"; //cyan +
+
+      if(index == 5) +
+
+      ColorValue = "D5CCBB"; //tan +
+
+      if(index == 6) +
+
+      ColorValue = "99FF99"; //lt green +
+
+      if(index == 7) +
+
+      ColorValue = "FFFF99"; //lt yellow +
+
+      if(index == 8) +
+
+      ColorValue = "FFCC99"; //lt orange +
+
+      if(index == 9) +
+
+      ColorValue = "CCCCCC"; //lt grey +
+
+
+
+      document.getElementsByTagName("body")[0].style.backgroundColor = "#" + ColorValue; +
+
+      } +
+
+</script> +
+
+</head> +
+
+<body onload="setbackground();"> +
+
+</body> +
+
+</html> +
+
+

Source : https://www.htmlbestcodes.com/Set_background_color_randomly.htm

+
+
+
+
+
+ +
+ + diff --git a/S9.html b/S9.html new file mode 100644 index 0000000..69c3fa7 --- /dev/null +++ b/S9.html @@ -0,0 +1,213 @@ + + +9 Internet‣ Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+Compilation de commandes utiles régulièrement, ou pas +
+
+
+

+9 Internet

+
+ +
+

+9.1 Flux RSS

+ +
+

Les flux RSS permettent de suivre les publications de la majorité des sites internet sur une plateforme dédiée, il existe une multitude de services dédiés (Firefox intègre d’ailleurs un lecteur de flux). +
Un aspect pratique des flux RSS est que cela fonctionne pour s’abonner à des Chaînes YouTube et cela sans compte, certains lecteurs de flux peuvent même afficher la vidéo et donc vous n’avez pas à aller sur YouTube en soi. +
S’abonner à une chaîne YouTube +
URL : https://www.youtube.com/feeds/videos.xml?user=nom de user ou code trouvable dans l’URL sur Youtube +

+
+
+

S’abonner à une Playlist +
URL : https://www.youtube.com/feeds/videos.xml?playlist_id=nom de playlist ou id de l’URL

+
+
+
+

+9.2 Multimédia

+ +
+

+9.2.1 youtube-dl

+ +
+

Installation :

+
+ +
+sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl +
+
+sudo chmod a+rx /usr/local/bin/youtube-dl +
+
+sudo apt-get install ffmpeg +
+
+
+
+

Mettre à jour

+
+ +
+youtube-dl -U +
+
+

Options :

+
+ +
+youtube-dl [OPTIONS] URL +
+
+-i, --ignore-errors +
+
+--playlist-start NUMBER +
+
+--playlist-end NUMBER +
+
+

Metadata

+
+ +
+--write-description Write video description to a .description file +
+
+--write-info-json Write video metadata to a .info.json file +
+
+--write-annotations Write video annotations to a .annotations.xml file +
+
+--write-thumbnail Write thumbnail image to disk +
+
+--write-sub +
+
+--all-subs +
+
+

Audio

+
+ +
+-x, --extract-audio Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe) +
+
+--add-metadata Write metadata to the video file +
+
+--metadata-from-title "%(artist)s - %(title)s" +
+
+

Documentation : https://github.com/rg3/youtube-dl/blob/master/README.md

+
+
+
+

+9.2.2 Spotify pour Debian 9

+ +
+
+ +
+sudo apt instal dirmngr +
+
+# 1. Add the Spotify repository signing keys to be able to verify downloaded packages +
+
+sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90 +
+
+
+
+# 2. Add the Spotify repository +
+
+echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list +
+
+
+
+# 3. Update list of available packages +
+
+sudo apt-get update +
+
+
+
+# 4. Install Spotify +
+
+sudo apt-get install spotify-client +
+
+
+
+
+

+9.2.3 Télécharger des playlists Spotify

+ +
+

J’utilise : https://github.com/SwapnilSoni1999/spotify-dl +

+
+ +
+sudo npm install -g spotify-dl +
+
+

Il peut être nécessaire d’installer npm avec un simple apt install. +

+
+
+
+
+
+ +
+ + diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..96851bb --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +latexml recueil.tex --dest=recueil.xml +latexmlpost --split --destination=index.html recueil.xml +rsync -avsh -e "ssh -p 42" --progress * admin@timour.net:/var/www/webapp_thomas/wiki.timour.net_/ diff --git a/index.html b/index.html new file mode 100644 index 0000000..860407c --- /dev/null +++ b/index.html @@ -0,0 +1,238 @@ + + +Compilation de commandes utiles régulièrement, ou pas + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+

Compilation de commandes utiles régulièrement, ou pas +
+

+
+ +
+

Ce document est réalisé à partir de mes expériences diverses sur GNU/Linux, principalement Debian et depuis peu avec Awesome WM. +
Beaucoup de documentation existe sur le sujet, je ne vais donc pas réécrire ce qui existe déjà en mieux, mais plutôt partager des informations spécifiques qui m’ont demandé un peu de temps de recherche. +
+

+
+
+
+
Table des matières
+ +
+
+
+
+ +
+ + diff --git a/latexmldoc.css b/latexmldoc.css new file mode 100644 index 0000000..5b91db3 --- /dev/null +++ b/latexmldoc.css @@ -0,0 +1,140 @@ + +body { margin:0; background:#cfd2e6; color:#000000; } + +.ltx_page_navbar { + display:block!important; + position:fixed; left:10px; top:10px; width:232px; + margin:0; padding:0; + font-weight: bold; font-size: 75%; + color:#a82ee6; + overflow-x: hidden; + overflow-y: auto; max-height: 95vh; + z-index:10; +} +/* overflow:hidden; z-index:10;*/ + +.ltx_page_navbar a { + color:#a82ee6; +} +.ltx_page_main { + position:absolute; left:240px; + margin:0 20px 0 0; padding:0; + } +.ltx_page_navbar ul { + list-style:none; + margin:0 0 0 15px; padding:0; +} +.ltx_page_navbar a { + display:block; + text-decoration:none; +} +.ltx_page_navbar a:hover { + background:#701f99; + color:#e6eaff; +} +.ltx_page_navbar li { + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; +} +.ltx_page_navbar li.ltx_ref_self { + background:#e6eaff; + border-top: 1px solid #701f99; + border-left: 1px solid #701f99; + border-bottom: 1px solid #701f99; +} +.ltx_page_header { + height: 30px; } +.ltx_page_content { + margin:30px 0px 0 0; padding:10px; + background:#e6eaff; + border: 2px solid #701f99; + min-width:600px; + min-height:80vh; + +} +/* min-height:500px;*/ + +.ltx_title { + text-align:left; + margin:0; + color:#a82ee6; +} +.ltx_subsection, +.ltx_paragraph { + margin: 5px 10px 5px 5px; + padding:5px; +} +.ltx_document > .ltx_para, +.ltx_chapter > .ltx_para, +.ltx_section > .ltx_para, +.ltx_subsection > .ltx_para, +.ltx_subsubsection > .ltx_para, +.ltx_paragraph { + background:#f2f4ff; + margin:5px; padding:5px 10px; + border: 1px solid #B0B0B0; +} + +.ltx_tabular .ltx_lstlisting { + margin: 0.1ex 1em 0.1ex 0em; + width:100%; } +.ltx_listing > .ltx_tabular { + background:#f8fAff; + margin:15px; padding:5px 10px; + border: 2px solid #B0B0B0; + min-width:35em; +} + +a[rel~="up"]:before { content:"\261D "; } +a[rel~="next"]:after { content:" \261E"; } +a[rel~="prev"]:before { content:"\261C "; } + +.ltx_title, +.ltx_subtitle, +.ltx_creator, +.ltx_page_navbar, +.ltx_page_header, +.ltx_page_footer { + font-family: "Bitstream Vera Sans",Verdana, sans-serif; +} + +.ltx_page_footer { + border:none; +} + +/* make smaller */ +dl.ltx_description dt { + font-size:90%; } + +dl.ltx_description.ltx_moduledescription dt, +dl.ltx_description.ltx_elementdescription dt, +dl.ltx_description.ltx_patterndescription dt + { margin-right:0.5em; float:left; + font-weight:normal; } + +dl.ltx_description dd dl.ltx_description { clear:both; } + +.ltx_advanced:before { + position:absolute; + color:red; + font-size:200%; + content:url("images/scratch.png"); } +/* content:"!!" }*/ + +/* +.ltx_advanced { + border: 3px double #B0B0B0; } +*/ +.ltx_advanced .ltx_para { + margin-left:40px; + margin-right:1em; + border-left: 1px solid #971515; + border-right: 1px solid #971515; + padding-left: 0.5em; + padding-right: 0.5em; +} + +.ltx_advanced .ltx_para .ltx_p:first-child { + text-indent:0em; } + +.ltx_keywords { display:none; } diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..b9b08c1 Binary files /dev/null and b/logo.png differ diff --git a/ltx-article.css b/ltx-article.css new file mode 100644 index 0000000..d787712 --- /dev/null +++ b/ltx-article.css @@ -0,0 +1,76 @@ + +.ltx_title_document { font-size:170%; text-align:center; margin:0.5em 0 0.5em 0; } +.ltx_authors, +.ltx_role_author { text-align:center; margin:0.5em 0 0.5em 0; } +.ltx_role_author .ltx_personname { font-size: 120%; } +.ltx_date { text-align:center; font-size: 120%; margin:0.5em 0 0.5em 0; } +.ltx_subtitle { text-align:center; font-size: 120%; padding-left:0.2em; margin-left:-0.5em; } + +.ltx_title_abstract { text-align:center; font-size: 100%; font-weight:bold; } +.ltx_abstract { margin-left:4em; margin-right:4em; } +.ltx_title_acknowledgements, +.ltx_title_keywords, +.ltx_title_classification { + text-align:left; font-size: 100%; font-weight:bold; margin:0.5 0 0 0; } +scroll_to_top { + position: fixed; + width: 25px; + height: 25px; + bottom: 50px; + right: 30px; +} +scroll_to_top img { + width: 25px; +} + +.ltx_appendix, +.ltx_section, +.ltx_subsection, +.ltx_subsubsection { margin-top:1.5em; } +.ltx_paragraph, +.ltx_subparagraph { margin-top:1.0em; } + +.ltx_title_appendix, +.ltx_title_section, +.ltx_title_bibliography { font-size:140%; font-weight:bold; margin-bottom:1em; } +.ltx_title_subsection { font-size:120%; font-weight:bold; margin-bottom:1em; } +.ltx_title_subsubsection { font-size:100%; font-weight:bold; margin-bottom:1em; } + +/* Paragraph & Subparagraph titles should be runin! */ +.ltx_title_paragraph { font-size:100%; font-weight:bold; display:inline; + margin-right:1em; } +.ltx_paragraph .ltx_title, +.ltx_paragraph .ltx_title + .ltx_para, +.ltx_paragraph .ltx_title + .ltx_para > .ltx_p { display:inline; } + +.ltx_title_subparagraph { font-size:100%; font-weight:bold; display:inline; + margin-left:2em; margin-right:1em; } +.ltx_subparagraph .ltx_title, +.ltx_subparagraph .ltx_title + .ltx_para, +.ltx_subparagraph .ltx_title + .ltx_para > .ltx_p { display:inline; } + +.ltx_figure { text-align:center; margin:auto; margin:0.5em; } +.ltx_table { text-align:center; margin:auto; margin:0.5em; } + +/* experimental: flex model, to center short captions, justify long ones */ +.ltx_table, +.ltx_figure { display:flex; flex-direction:column; align-items:center; } +.ltx_table .ltx_caption, +.ltx_figure .ltx_caption { text-align:justify; } + +/* first p in para gets indented */ +.ltx_para > .ltx_p:first-child { text-indent:2em; } +/* except the initial in a section */ +section > .ltx_title +.ltx_para > .ltx_p, +section > .ltx_title +.ltx_date +.ltx_para > .ltx_p {text-indent:0em; } + +.ltx_title_abstract + .ltx_p {text-indent:2em; } + +.ltx_itemize, +.ltx_enumerate { margin-left:1em; } + +.ltx_theorem { margin-top:0.5em; margin-bottom:0.5em; } +.ltx_theorem .ltx_title { margin-bottom:0.1em; } +.ltx_theorem .ltx_title + .ltx_para, +.ltx_theorem .ltx_title + .ltx_para .ltx_p, +.ltx_theorem .ltx_title + .ltx_p { margin-top:0em; } diff --git a/ltx-listings.css b/ltx-listings.css new file mode 100644 index 0000000..3dcf678 --- /dev/null +++ b/ltx-listings.css @@ -0,0 +1,5 @@ + +.ltx_listing_data { + float:right; } +.ltx_listing_data a { + text-decoration:none; } \ No newline at end of file diff --git a/recueil.aux b/recueil.aux new file mode 100644 index 0000000..d9cee4d --- /dev/null +++ b/recueil.aux @@ -0,0 +1,98 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\catcode `:\active +\catcode `;\active +\catcode `!\active +\catcode `?\active +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\babel@aux{french}{} +\@writefile{toc}{\contentsline {section}{\numberline {1}Commandes usuelles}{4}{section.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Installations}{4}{section.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Syst\IeC {\`e}me}{4}{subsection.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Cr\IeC {\'e}er une cl\IeC {\'e} USB Bootable}{4}{subsubsection.2.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Cr\IeC {\'e}er une cl\IeC {\'e} USB live avec plusieurs ISOs}{5}{subsubsection.2.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}V\IeC {\'e}rification d'ISO}{5}{subsubsection.2.1.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.4}Retirer le bip du clavier}{5}{subsubsection.2.1.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.5}Faire appara\IeC {\^\i }tre GRUB au d\IeC {\'e}marrage}{5}{subsubsection.2.1.5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Terminal}{6}{subsection.2.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}Changer de shell - Zsh}{6}{subsubsection.2.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}Ajouter des plugins facilement dans Vim}{6}{subsubsection.2.2.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}Colorer les codes couleurs html/rgb etc}{6}{subsubsection.2.2.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Disques chiffr\IeC {\'e}s}{6}{subsection.2.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Monter un disque chiffr\IeC {\'e} en ligne de commande}{6}{subsubsection.2.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Monter un disque chiffr\IeC {\'e} automatiquement au d\IeC {\'e}marrage}{7}{subsubsection.2.3.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Customisation, param\IeC {\'e}trage}{7}{subsection.2.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Installer une police au format fichier .ttf}{7}{subsubsection.2.4.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Changer l'image de grub (\IeC {\'e}cran de d\IeC {\'e}marrage)}{7}{subsubsection.2.4.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}Utiliser le pav\IeC {\'e} num\IeC {\'e}rique comme souris}{8}{subsubsection.2.4.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.4}Luminosit\IeC {\'e}}{9}{subsubsection.2.4.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.5}Changement image de profil}{10}{subsubsection.2.4.5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Chercher et supprimer des fichiers en doublon}{10}{subsection.2.5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Compresser des images en ligne de commande}{10}{subsection.2.6}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Manjaro - Arch Linux}{10}{section.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Ressources diverses}{10}{subsection.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Awesome WM et la customisation avanc\IeC {\'e}e}{10}{section.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}O\IeC {\`u} sont les fichiers ?}{11}{subsection.4.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}D\IeC {\'e}pendances}{11}{subsection.4.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}Yunohost, Brique Internet et autres serveur-like tips}{12}{section.5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Brique Internet sur cl\IeC {\'e} 4G}{12}{subsection.5.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Installation, post-installation}{12}{subsubsection.5.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}Monter la cl\IeC {\'e} 4G au d\IeC {\'e}marrage comme interface r\IeC {\'e}seau}{12}{subsubsection.5.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Utilisation de deux serveurs avec un domaine principal et un sous-domaine}{13}{subsection.5.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Enlever le bouton Yunohost permanent dans les applications}{13}{subsubsection.5.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6}Sauvegardes}{14}{section.6}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Android - Utilisation de adb}{14}{subsection.6.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}GNU-Linux}{14}{subsection.6.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.1}Le paquet rsync}{14}{subsubsection.6.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2}Sauvegarde compl\IeC {\`e}te de Debian avec un script}{15}{subsubsection.6.2.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7}Logiciels}{15}{section.7}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Graphisme}{15}{subsection.7.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {8}D\IeC {\'e}veloppement Web}{15}{section.8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}HTML}{15}{subsection.8.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.1}Centrer une image}{15}{subsubsection.8.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.2}Faire un fond de page web qui change al\IeC {\'e}atoirement de couleur}{16}{subsubsection.8.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {9}Internet}{16}{section.9}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}Flux RSS}{16}{subsection.9.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Multim\IeC {\'e}dia}{17}{subsection.9.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.2.1}youtube-dl}{17}{subsubsection.9.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.2.2}Spotify pour Debian 9}{17}{subsubsection.9.2.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.2.3}T\IeC {\'e}l\IeC {\'e}charger des playlists Spotify}{17}{subsubsection.9.2.3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {10}Vie priv\IeC {\'e}e}{18}{section.10}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.1}Utiliser le VPN Riseup Black}{18}{subsection.10.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {10.2}Changer son adresse mac}{18}{subsection.10.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {11}Bugs divers}{19}{section.11}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.1}Bugs apr\IeC {\`e}s une installation}{19}{subsection.11.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {11.1.1}Driver wifi - Debian x bcm43xx}{19}{subsubsection.11.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {11.2}Bugs dans le terminal}{19}{subsection.11.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {11.2.1}./configure say no compiler found}{19}{subsubsection.11.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {12}Divers}{20}{section.12}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {12.1}Wallabako - synchronisation wallabag et kobo}{20}{subsection.12.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {12.2}Contr\IeC {\^o}ler son t\IeC {\'e}l\IeC {\'e}phone Android - scrpy}{20}{subsection.12.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {12.3}Stylet, PC tablette, etc}{20}{subsection.12.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {12.3.1}Activer le clic droit du stylet}{20}{subsubsection.12.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {12.4}ASCII art generator}{20}{subsection.12.4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {13}Windows}{20}{section.13}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {14}Annexes - Scripts}{20}{section.14}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {14.1}Trier des fichiers par ann\IeC {\'e}e}{20}{subsection.14.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {14.2}Post-Installation automatique}{21}{subsection.14.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {14.3}Compression de PDF}{22}{subsection.14.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {14.4}\IeC {\'E}crire soit-m\IeC {\^e}me des \texttt {fortunes} en semi-automatique}{22}{subsection.14.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {14.5}Convertir une archive Youtube en dossier de favoris}{23}{subsection.14.5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {14.5.1}prog.sed}{24}{subsubsection.14.5.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {14.5.2}header.txt}{24}{subsubsection.14.5.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {14.5.3}rm.sh}{24}{subsubsection.14.5.3}\protected@file@percent } diff --git a/recueil.fdb_latexmk b/recueil.fdb_latexmk new file mode 100644 index 0000000..ea044c8 --- /dev/null +++ b/recueil.fdb_latexmk @@ -0,0 +1,133 @@ +# Fdb version 3 +["pdflatex"] 1605729221 "recueil.tex" "recueil.pdf" "recueil" 1605729221 + "/etc/texmf/web2c/texmf.cnf" 1573205952 475 c0e671620eb5563b2130f56340a5fde8 "" + "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1511824771 3332 103109f5612ad95229751940c61aada0 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/ae/aer10.tfm" 1480098698 6076 dc5394361b1c55a30e76ff07ab99157c "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1480098698 916 f87d7c45f9c908e672703b83b72241a3 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1480098698 924 9904cf1d39e9767e7a3622f2a125a565 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1480098698 928 2dc8d444221b7a635bb58038579b861a "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1480098698 908 2921f8a10601f252058503cc6570e581 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1480098698 940 75ac932a52f80982a9f8ea75d03a34cf "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1480098698 940 228d6584342e91276bf566bcf9716b83 "" + "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "/usr/share/texlive/texmf-dist/tex/generic/babel-french/french.ldf" 1548889682 67191 9e6e0be5e07f3612bd366551a79d98d8 "" + "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1542149371 74097 730193adbb112990f38051a05f35ac11 "" + "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1542149371 16329 4c42e43c85185e6cb0936a628ade375c "" + "/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def" 1542149371 13310 fcb0ad08386d450f0c718feed9fe2fee "" + "/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1528235896 7435 6c566fc19b3503b2b2da8bb4550f2b58 "" + "/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1480098815 1458 43ab4710dc82f3edeabecd0d099626b2 "" + "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1463608860 8237 3b62ef1f7e2c23a328c814b3893bc11f "" + "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1536701967 185392 b99a6d53180e04300c35e18725f31231 "" + "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1465595255 70864 bcd5b216757bd619ae692a151d90085d "" + "/usr/share/texlive/texmf-dist/tex/latex/ae/ae.sty" 1480098820 1225 5aef800ba6cda7885d41428e026f49e3 "" + "/usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd" 1480098820 1844 da911cbbb4e7e5dc2776545b8b9cbc06 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1480098820 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" + "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1480098820 13829 94730e64147574077f8ecfea9bb69af4 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1480098820 961 6518c6525a34feb5e8250ffa91731cff "" + "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1480098820 961 d02606146ba5601b5645f987c92e6193 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d "" + "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1544567569 85093 77cfa18ddbae4d9b74ade33d843686d3 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 "" + "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 "" + "/usr/share/texlive/texmf-dist/tex/latex/base/article.cls" 1544567569 19933 3097d1b31d3c45dc957096f554529032 "" + "/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1544567569 4573 e9e01f5b11821a77b916dad378cb86b8 "" + "/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1544567569 5052 b64c57f4a38aae0d2745f8298fa50814 "" + "/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1523050425 1942 125bdb0eb122d38c47905721b0682b1e "" + "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1544567569 8294 6d6e23d5169c0d89d173f6c7e08a005a "" + "/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def" 1544567569 10689 ce0f2353f9a1f42b29f591f3fe8e040a "" + "/usr/share/texlive/texmf-dist/tex/latex/carlisle/scalefnt.sty" 1480098823 1360 df2086bf924b14b72d6121fe9502fcdb "" + "/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1525727744 41645 0653033a985e06c69a2a9cea9a95e31a "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1480098830 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1480098830 1224 978390e9c2234eab29404bc21b268d1e "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1523134385 15272 5a97061616e0c8b2aa79c6615ff769f4 "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1523134385 9063 d0a305975932762117cd1f06a582f896 "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1523134385 2591 6404d0c7d28505fb38ce0d86c2e28ae7 "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1523134385 3977 cb9221976ed8a183afad65b59aa8629a "" + "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1543704539 51744 477aad43ad6a7ba8c462d20c3e0808e0 "" + "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1543704539 236074 d994150943d35d6af0d586a60cc78dd1 "" + "/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1465687530 12949 81e4e808884a8f0e276b69410e234656 "" + "/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1543704539 14098 b4e1ecab4699a0341b8e1349e4c53fb1 "" + "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1480098833 678 4792914a8f45be57bb98413425e4c7af "" + "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1480098833 235 6031e5765137be07eed51a510b2b8fb7 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1536009181 1828 dcfaf5610ea22a61c7baac6f2ca3cb43 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1536009181 80394 a25e563baccecba00b03b4a462eb4141 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1536009181 203555 e607ed8f3cb83d0d64c452db0f937212 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1536009181 77021 1c90ba86bdf6da80a6b661f51d7f0175 "" + "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1463608860 3834 4363110eb0ef1eb2b71c8fcbcdb6c357 "" + "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1463608860 12095 5337833c991d80788a43d3ce26bd1c46 "" + "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty" 1463608860 7075 2fe3d848bba95f139de11ded085e74aa "" + "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1463608860 22417 1d9df1eb66848aa31b18a593099cf45c "" + "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1463608860 9581 023642318cef9f4677efe364de1e2a27 "" + "/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1546812253 12527 31ab547f6520657998ecf91709f950ac "" + "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1480098842 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1480098843 55589 34128738f682d033422ca125f82e5d62 "" + "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1551493644 34566 ab5be96bde1a5acfd4f881dbe566b5fb "" + "/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc" 1551365548 2375 baa924870cfb487815765f9094cf3728 "" + "/usr/share/texmf/fonts/enc/dvips/lm/lm-mathsy.enc" 1551365548 2840 216e6e45ad352e2456e1149f28885bee "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmbx10.tfm" 1551365548 12076 b54175e02101bea1addf6b2d0197ed12 "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmbx12.tfm" 1551365548 12088 d750ac78274fa7c9f73ba09914c04f8a "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmbxi10.tfm" 1551365548 17180 a5723008921cdcb0c5f4ebe997919b73 "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmcsc10.tfm" 1551365548 11276 116dd5bea6621ce4a1999f96d876084c "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmr10.tfm" 1551365548 12056 7e13df7fe4cbce21b072ba7c4f4deb6e "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmr12.tfm" 1551365548 12092 7b1546e2d096cfd5dcbd4049b0b1ec2e "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmr17.tfm" 1551365548 12156 ca1ae6a3c8564e89597f1f993fba1608 "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmr9.tfm" 1551365548 12084 b7f5e4c003de6f57f07c7e9fee73a37c "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmri10.tfm" 1551365548 17148 9556e1b5f936b77a796f68d2d559ba99 "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmtk10.tfm" 1551365548 1368 5bfeb1cf8f9f0acdb7436bfaa8e0da4e "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmtt10.tfm" 1551365548 1372 2ef2c2b492b3c4cd7879fe083abbb061 "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmtt9.tfm" 1551365548 1372 a2ff2d4391a2d6bba15b518acb79e80f "" + "/usr/share/texmf/fonts/tfm/public/lm/ec-lmtti10.tfm" 1551365548 1372 0dcee1a56926aed3dd9ded91b7563563 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmex10.tfm" 1551365548 992 ce925c9346c7613270a79afbee98c070 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi10.tfm" 1551365548 1528 6d36b2385e0ca062a654de6ac59cb34f "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi12.tfm" 1551365548 1524 753b192b18f2991794f9d41a8228510b "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi5.tfm" 1551365548 1508 198f5b7b99b5769126de3a533f6fc334 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi6.tfm" 1551365548 1512 94a3fd88c6f27dbd9ecb46987e297a4e "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi7.tfm" 1551365548 1528 d5b028dd23da623848ef0645c96a1ed7 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmmi8.tfm" 1551365548 1520 a3fe5596932db2db2cbda300920dd4e9 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmsy10.tfm" 1551365548 1308 02cc510f9dd6012e5815d0c0ffbf6869 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmsy5.tfm" 1551365548 1296 54ed1a711e2303d5282575278e3620b0 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmsy6.tfm" 1551365548 1300 b0605d44c16c22d99dc001808e4f24ea "" + "/usr/share/texmf/fonts/tfm/public/lm/lmsy7.tfm" 1551365548 1304 32f22a15acc296b2a4e15698403dcb88 "" + "/usr/share/texmf/fonts/tfm/public/lm/lmsy8.tfm" 1551365548 1304 cdc9a17df9ef0d2dc320eff37bbab1c4 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr10.tfm" 1551365548 11868 4f81e9b6033c032bdaf9884f4d7ef412 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr12.tfm" 1551365548 11888 6841b91e46b65cf41a49b160e6e74130 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr5.tfm" 1551365548 11804 aefb10c002e6492c25236524a447f969 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr6.tfm" 1551365548 11836 e3b6ce3e601aec94f64a536e7f4224d5 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr7.tfm" 1551365548 11852 5a9022f105fd1ee2797df861e79ae9a0 "" + "/usr/share/texmf/fonts/tfm/public/lm/rm-lmr8.tfm" 1551365548 11864 309fd7f43e4a0ba39f6f7644d76e8edf "" + "/usr/share/texmf/fonts/type1/public/lm/lmbx10.pfb" 1551365548 121021 1bf809ce4a594679006bd72263eba59b "" + "/usr/share/texmf/fonts/type1/public/lm/lmbx12.pfb" 1551365548 116908 1fca96723793882c2e0160350c192fc8 "" + "/usr/share/texmf/fonts/type1/public/lm/lmbxi10.pfb" 1551365548 112766 bdd4fa8b13a0d7dd137624085bd31d40 "" + "/usr/share/texmf/fonts/type1/public/lm/lmcsc10.pfb" 1551365548 116427 4a5b1ccaa7cce719091920a86b58608d "" + "/usr/share/texmf/fonts/type1/public/lm/lmr10.pfb" 1551365548 119235 f35b44530a1d90eb90fe15d9cba67ea0 "" + "/usr/share/texmf/fonts/type1/public/lm/lmr17.pfb" 1551365548 119752 1bd8d06e4079df624bf59ce3ad7c9aa6 "" + "/usr/share/texmf/fonts/type1/public/lm/lmr9.pfb" 1551365548 121065 50bbfa703ce7e11638752ef5a6d120c7 "" + "/usr/share/texmf/fonts/type1/public/lm/lmri10.pfb" 1551365548 112593 fda2373ba4420af33949610de4c28fe8 "" + "/usr/share/texmf/fonts/type1/public/lm/lmsy10.pfb" 1551365548 27863 09ce3735688ffde955e72da27c95b61a "" + "/usr/share/texmf/fonts/type1/public/lm/lmtk10.pfb" 1551365548 117319 7f8361f845845ce6d5b36cbd9f9cf377 "" + "/usr/share/texmf/fonts/type1/public/lm/lmtt10.pfb" 1551365548 113227 1010e11451afc2822c95dae77c390042 "" + "/usr/share/texmf/fonts/type1/public/lm/lmtt9.pfb" 1551365548 108480 ee1de99df36ee0a16b36023b9c9d8a58 "" + "/usr/share/texmf/fonts/type1/public/lm/lmtti10.pfb" 1551365548 98822 859130196f7a6d2d1173200c66afbcff "" + "/usr/share/texmf/tex/latex/lm/lmodern.sty" 1551365548 1606 c17281c7cff2bbd7ff0173e1433487ec "" + "/usr/share/texmf/tex/latex/lm/omllmm.fd" 1551365548 888 44447a3a3af84a22454ef89500942d93 "" + "/usr/share/texmf/tex/latex/lm/omslmr.fd" 1551365548 1013 f8133048bddeed1bf1041c9d830a3723 "" + "/usr/share/texmf/tex/latex/lm/omslmsy.fd" 1551365548 805 af340a8260c447aa315cfc740ff0152f "" + "/usr/share/texmf/tex/latex/lm/omxlmex.fd" 1551365548 566 a94661f7b66063f191960bb7935b6ba2 "" + "/usr/share/texmf/tex/latex/lm/ot1lmr.fd" 1551365548 1880 bae7b659316f7344a86218ad38b01d91 "" + "/usr/share/texmf/tex/latex/lm/t1lmr.fd" 1551365548 1865 afbfccbe7fda9c2dc5078ad7c486bbed "" + "/usr/share/texmf/tex/latex/lm/t1lmtt.fd" 1551365548 2681 354015af3b61e7be30009f084986375a "" + "/usr/share/texmf/web2c/texmf.cnf" 1551493644 34566 ab5be96bde1a5acfd4f881dbe566b5fb "" + "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1574244207 127892 ef33effdfd807baa063935dad00eae60 "" + "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1574244209 948410 6566c7fb22f43bf6021f15534c39d12d "" + "recueil.aux" 1605729221 11390 15d4d92f9966a152f755669e9ca918dc "" + "recueil.out" 1605729221 5982 73ecda07c999987c4a9721a50abbfa9b "" + "recueil.tex" 1605729219 60025 e23ac53306a85c722cb8d6f50d42f6a5 "" + "recueil.toc" 1605729221 7648 82b2e22bdf52582b79e168eea30e757b "" + (generated) + "recueil.aux" + "recueil.out" + "recueil.toc" + "recueil.pdf" + "recueil.log" diff --git a/recueil.fls b/recueil.fls new file mode 100644 index 0000000..0777217 --- /dev/null +++ b/recueil.fls @@ -0,0 +1,217 @@ +PWD /media/thomas/web/wiki +INPUT /etc/texmf/web2c/texmf.cnf +INPUT /usr/share/texmf/web2c/texmf.cnf +INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt +INPUT recueil.tex +OUTPUT recueil.log +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texlive/texmf-dist/tex/latex/ae/ae.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/ae/ae.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd +INPUT /usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd +INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/ae/aer10.tfm +INPUT /usr/share/texmf/tex/latex/lm/lmodern.sty +INPUT /usr/share/texmf/tex/latex/lm/lmodern.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/switch.def +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-french/french.ldf +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-french/french.ldf +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/scalefnt.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/scalefnt.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT recueil.aux +INPUT recueil.aux +OUTPUT recueil.aux +INPUT /usr/share/texmf/tex/latex/lm/t1lmr.fd +INPUT /usr/share/texmf/tex/latex/lm/t1lmr.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmr10.tfm +INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT recueil.out +INPUT recueil.out +INPUT recueil.out +INPUT recueil.out +OUTPUT recueil.pdf +INPUT ./recueil.out +INPUT ./recueil.out +OUTPUT recueil.out +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmr17.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmr12.tfm +INPUT /usr/share/texmf/tex/latex/lm/ot1lmr.fd +INPUT /usr/share/texmf/tex/latex/lm/ot1lmr.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr12.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr8.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr6.tfm +INPUT /usr/share/texmf/tex/latex/lm/omllmm.fd +INPUT /usr/share/texmf/tex/latex/lm/omllmm.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi12.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi8.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi6.tfm +INPUT /usr/share/texmf/tex/latex/lm/omslmsy.fd +INPUT /usr/share/texmf/tex/latex/lm/omslmsy.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy8.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy6.tfm +INPUT /usr/share/texmf/tex/latex/lm/omxlmex.fd +INPUT /usr/share/texmf/tex/latex/lm/omxlmex.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmex10.tfm +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmr9.tfm +INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmr12.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmbx12.tfm +INPUT recueil.toc +INPUT recueil.toc +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmbx10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr7.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/rm-lmr5.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi7.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmmi5.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy7.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/lmsy5.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm +INPUT /usr/share/texmf/tex/latex/lm/t1lmtt.fd +INPUT /usr/share/texmf/tex/latex/lm/t1lmtt.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmtt10.tfm +OUTPUT recueil.toc +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmtk10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmtt9.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmbx12.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmcsc10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmri10.tfm +INPUT /usr/share/texmf/tex/latex/lm/omslmr.fd +INPUT /usr/share/texmf/tex/latex/lm/omslmr.fd +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmtti10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmbxi10.tfm +INPUT /usr/share/texmf/fonts/tfm/public/lm/ec-lmtk10.tfm +INPUT recueil.aux +INPUT ./recueil.out +INPUT ./recueil.out +INPUT /usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc +INPUT /usr/share/texmf/fonts/enc/dvips/lm/lm-mathsy.enc +INPUT /usr/share/texmf/fonts/type1/public/lm/lmbx10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmbx12.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmbxi10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmcsc10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmr10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmr17.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmr9.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmri10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmsy10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmtk10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmtt10.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmtt9.pfb +INPUT /usr/share/texmf/fonts/type1/public/lm/lmtti10.pfb diff --git a/recueil.log b/recueil.log new file mode 100644 index 0000000..9e1cf44 --- /dev/null +++ b/recueil.log @@ -0,0 +1,909 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2019.11.20) 18 NOV 2020 20:53 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**recueil.tex +(./recueil.tex +LaTeX2e <2018-12-01> +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2018/09/03 v1.4i Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2018/09/03 v1.4i Standard LaTeX file (size option) +) +\c@part=\count80 +\c@section=\count81 +\c@subsection=\count82 +\c@subsubsection=\count83 +\c@paragraph=\count84 +\c@subparagraph=\count85 +\c@figure=\count86 +\c@table=\count87 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (/usr/share/texlive/texmf-dist/tex/latex/ae/ae.sty +Package: ae 2001/02/12 1.3 Almost European Computer Modern + (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + (/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Try loading font information for T1+aer on input line 105. + (/usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd +File: t1aer.fd 1997/11/16 Font definitions for T1/aer. +))) (/usr/share/texmf/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2018/11/13 3.27 The Babel package + (/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2018/11/13 3.27 Babel switching mechanism +) (/usr/share/texlive/texmf-dist/tex/generic/babel-french/french.ldf +Language: french 2019/01/30 v3.5d French support from the babel system + (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2018/11/13 3.27 Babel common definitions +\babel@savecnt=\count88 +\U@D=\dimen103 + (/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def) +\bbl@dirlevel=\count89 +) +\l@acadian = a dialect from \language\l@french +\FB@nonchar=\count90 +Package babel Info: Making : an active character on input line 414. +Package babel Info: Making ; an active character on input line 415. +Package babel Info: Making ! an active character on input line 416. +Package babel Info: Making ? an active character on input line 417. +\FBguill@level=\count91 +\FBold@everypar=\toks14 +\FB@Mht=\dimen104 +\mc@charclass=\count92 +\mc@charfam=\count93 +\mc@charslot=\count94 +\std@mcc=\count95 +\dec@mcc=\count96 +\c@FBcaption@count=\count97 +\listindentFB=\dimen105 +\descindentFB=\dimen106 +\labelindentFB=\dimen107 +\labelwidthFB=\dimen108 +\leftmarginFB=\dimen109 +\parindentFFN=\dimen110 +\FBfnindent=\dimen111 +)) (/usr/share/texlive/texmf-dist/tex/latex/carlisle/scalefnt.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks15 +) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks16 +\inpenc@posthook=\toks17 +) (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + (/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2018/12/01 v2.17b AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks18 +\ex@=\dimen112 +)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen113 +) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count98 +LaTeX Info: Redefining \frac on input line 223. +\uproot@=\count99 +\leftroot@=\count100 +LaTeX Info: Redefining \overline on input line 385. +\classnum@=\count101 +\DOTSCASE@=\count102 +LaTeX Info: Redefining \ldots on input line 482. +LaTeX Info: Redefining \dots on input line 485. +LaTeX Info: Redefining \cdots on input line 606. +\Mathstrutbox@=\box27 +\strutbox@=\box28 +\big@size=\dimen114 +LaTeX Font Info: Redeclaring font encoding OML on input line 729. +LaTeX Font Info: Redeclaring font encoding OMS on input line 730. +\macc@depth=\count103 +\c@MaxMatrixCols=\count104 +\dotsspace@=\muskip10 +\c@parentequation=\count105 +\dspbrk@lvl=\count106 +\tag@help=\toks19 +\row@=\count107 +\column@=\count108 +\maxfields@=\count109 +\andhelp@=\toks20 +\eqnshift@=\dimen115 +\alignsep@=\dimen116 +\tagshift@=\dimen117 +\tagwidth@=\dimen118 +\totwidth@=\dimen119 +\lineht@=\dimen120 +\@envbody=\toks21 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks22 +LaTeX Info: Redefining \[ on input line 2844. +LaTeX Info: Redefining \] on input line 2845. +) (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2018/12/30 v2.4k Tabular extension package (FMi) +\col@sep=\dimen121 +\ar@mcellbox=\box29 +\extrarowheight=\dimen122 +\NC@list=\toks23 +\extratabsurround=\skip46 +\backup@length=\skip47 +\ar@cellbox=\box30 +) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols +) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2014/09/29 v1.0m Standard LaTeX package +) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) + (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen123 +\Gin@req@width=\dimen124 +) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2018/11/30 v6.88e Hypertext links for LaTeX + (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen125 +\Hy@linkcounter=\count110 +\Hy@pagecounter=\count111 + (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2018/11/30 v6.88e Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +\Hy@SavedSpaceFactor=\count112 + (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Hyper figures OFF on input line 4519. +Package hyperref Info: Link nesting OFF on input line 4524. +Package hyperref Info: Hyper index ON on input line 4527. +Package hyperref Info: Plain pages OFF on input line 4534. +Package hyperref Info: Backreferencing OFF on input line 4539. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4772. +\c@Hy@tempcnt=\count113 + (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip11 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5125. +\XeTeXLinkMargin=\dimen126 +\Fld@menulength=\count114 +\Field@Width=\dimen127 +\Fld@charsize=\dimen128 +Package hyperref Info: Hyper figures OFF on input line 6380. +Package hyperref Info: Link nesting OFF on input line 6385. +Package hyperref Info: Hyper index ON on input line 6388. +Package hyperref Info: backreferencing OFF on input line 6395. +Package hyperref Info: Link coloring OFF on input line 6400. +Package hyperref Info: Link coloring with OCG OFF on input line 6405. +Package hyperref Info: PDF/A mode OFF on input line 6410. +LaTeX Info: Redefining \ref on input line 6450. +LaTeX Info: Redefining \pageref on input line 6454. +\Hy@abspage=\count115 +\c@Item=\count116 +\c@Hfootnote=\count117 +) +Package hyperref Info: Driver (autodetected): hpdftex. + (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2018/11/30 v6.88e Hyperref driver for pdfTeX +\Fld@listcount=\count118 +\c@bookmark@seq@number=\count119 + (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 282. +) +\Hy@SectionHShift=\skip48 +) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count120 +\lst@gtempboxa=\box31 +\lst@token=\toks24 +\lst@length=\count121 +\lst@currlwidth=\dimen129 +\lst@column=\count122 +\lst@pos=\count123 +\lst@lostspace=\dimen130 +\lst@width=\dimen131 +\lst@newlines=\count124 +\lst@lineno=\count125 +\lst@maxwidth=\dimen132 + (/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2018/09/02 1.7 (Carsten Heinz) +\c@lstnumber=\count126 +\lst@skipnumbers=\count127 +\lst@framebox=\box32 +) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2018/09/02 1.7 listings configuration +)) +Package: listings 2018/09/02 1.7 (Carsten Heinz) + (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry +\Gm@cnth=\count128 +\Gm@cntv=\count129 +\c@Gm@tempcnt=\count130 +\Gm@bindingoffset=\dimen133 +\Gm@wd@mp=\dimen134 +\Gm@odd@mp=\dimen135 +\Gm@even@mp=\dimen136 +\Gm@layoutwidth=\dimen137 +\Gm@layoutheight=\dimen138 +\Gm@layouthoffset=\dimen139 +\Gm@layoutvoffset=\dimen140 +\Gm@dimlist=\toks25 +) (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2018/09/02 1.7 listings language file +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2018/09/02 1.7 listings language file +) (./recueil.aux) +\openout1 = `recueil.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 42. +LaTeX Font Info: ... okay on input line 42. +LaTeX Font Info: Try loading font information for T1+lmr on input line 42. + (/usr/share/texmf/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Info: Redefining \degres on input line 42. +LaTeX Info: Redefining \dots on input line 42. +LaTeX Info: Redefining \up on input line 42. + (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count131 +\scratchdimen=\dimen141 +\scratchbox=\box33 +\nofMPsegments=\count132 +\nofMParguments=\count133 +\everyMPshowfont=\toks26 +\MPscratchCnt=\count134 +\MPscratchDim=\dimen142 +\MPnumerator=\count135 +\makeMPintoPDFobject=\count136 +\everyMPtoPDFconversion=\toks27 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) +) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 438. +Package grfext Info: Graphics extension search list: +(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live +)) +\AtBeginShipoutBox=\box34 +Package hyperref Info: Link coloring OFF on input line 42. + (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section + (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count137 +) +LaTeX Info: Redefining \ref on input line 42. +LaTeX Info: Redefining \pageref on input line 42. +LaTeX Info: Redefining \nameref on input line 42. + (./recueil.out) (./recueil.out) +\@outlinefile=\write3 +\openout3 = `recueil.out'. + +\c@lstlisting=\count138 + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: a4paper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(28.45274pt, 540.60239pt, 28.45274pt) +* v-part:(T,H,B)=(56.9055pt, 731.23584pt, 56.9055pt) +* \paperwidth=597.50787pt +* \paperheight=845.04684pt +* \textwidth=540.60239pt +* \textheight=731.23584pt +* \oddsidemargin=-43.81725pt +* \evensidemargin=-43.81725pt +* \topmargin=-52.36449pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=57.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: Try loading font information for OT1+lmr on input line 46. +(/usr/share/texmf/tex/latex/lm/ot1lmr.fd +File: ot1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Try loading font information for OML+lmm on input line 46. + (/usr/share/texmf/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Try loading font information for OMS+lmsy on input line 46. + (/usr/share/texmf/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Try loading font information for OMX+lmex on input line 46. + (/usr/share/texmf/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <12> on input line 46. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 46. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 46. +LaTeX Font Info: Try loading font information for U+msa on input line 46. + (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 46. + (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) + +LaTeX Warning: No \author given. + + +Underfull \hbox (badness 10000) in paragraph at lines 47--50 + + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./recueil.toc +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 4. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 4. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <5> on input line 4. + [2] +LaTeX Font Info: Try loading font information for T1+lmtt on input line 72. + (/usr/share/texmf/tex/latex/lm/t1lmtt.fd +File: t1lmtt.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +\tf@toc=\write4 +\openout4 = `recueil.toc'. + + [3] +Underfull \hbox (badness 10000) in paragraph at lines 55--57 + + [] + +LaTeX Font Info: Font shape `T1/lmtt/bx/n' in size <10> not available +(Font) Font shape `T1/lmtt/b/n' tried instead on input line 58. + +Underfull \hbox (badness 10000) in paragraph at lines 78--79 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 96--97 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 103--105 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 109--110 + + [] + +[4] +Underfull \hbox (badness 10000) in paragraph at lines 113--115 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 129--130 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 138--140 + + [] + +[5] +Underfull \hbox (badness 10000) in paragraph at lines 161--163 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 178--179 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 184--185 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 186--187 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 198--200 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 209--212 + + [] + +[6] +LaTeX Font Info: Try loading font information for OMS+lmr on input line 241. + (/usr/share/texmf/tex/latex/lm/omslmr.fd +File: omslmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Font shape `OMS/lmr/m/n' in size <10> not available +(Font) Font shape `OMS/lmsy/m/n' tried instead on input line 241. + +Underfull \hbox (badness 10000) in paragraph at lines 250--252 + + [] + + +Overfull \hbox (63.9732pt too wide) in paragraph at lines 256--259 +\T1/lmr/m/n/10 Par d-faut, si le pa-quet \T1/lmr/m/it/10 desktop-base \T1/lmr/m/n/10 est ins-tall les images uti-li-sables sont trou-vables dans le r-per-toire [][]\T1/lmtt/m/n/10 /usr/share/images/desktop-base/[]\T1/lmr/m/n/10 . + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 256--259 + + [] + +[7] +Underfull \hbox (badness 10000) in paragraph at lines 309--312 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 319--320 + + [] + +[8] +Underfull \hbox (badness 10000) in paragraph at lines 366--367 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 368--371 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 374--375 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 386--389 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 390--392 + + [] + +[9] +Underfull \hbox (badness 10000) in paragraph at lines 394--395 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 399--400 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 403--404 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 409--410 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 411--412 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 415--416 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 419--420 + + [] + + +Overfull \hbox (29.61818pt too wide) in paragraph at lines 429--433 +[]$\T1/lmtt/m/n/10 https : / / www . youtube . com / watch ? v = jl4nyEA-[]F-[]o$[] []$https : / / wiki . archlinux . org / index . php / Xfce # Use _ a _ different _ window _ + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 438--439 + + [] + +[10] +Underfull \hbox (badness 10000) in paragraph at lines 440--442 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 452--453 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 458--459 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 460--462 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 463--464 + + [] + +[11] +Underfull \hbox (badness 10000) in paragraph at lines 495--496 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 500--501 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 503--504 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 505--508 + + [] + + +Overfull \hbox (28.76048pt too wide) in paragraph at lines 510--511 +[]\T1/lmr/m/n/10 Crer l'image Brique in-ter-net l'aide du script fourni ici : []$\T1/lmtt/m/n/10 https : / / github . com / labriqueinternet / build . labriqueinter . + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 511--512 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 523--524 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 525--530 + + [] + +[12] +Overfull \hbox (5.14604pt too wide) in paragraph at lines 531--534 +\T1/lmtt/m/n/10 / / askubuntu . com / questions / 755570 / how-[]to-[]enable-[]broadband-[]connection-[]with-[]huawei-[]e3372h-[]on-[]ubuntu-[]server$[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 551--552 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 553--554 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 555--558 + + [] + + +Overfull \hbox (3.75546pt too wide) in paragraph at lines 560--561 +[]\T1/lmr/m/n/10 Un en-re-gis-tre-ment \T1/lmr/bx/n/10 CAA \T1/lmr/m/n/10 pour la cra-tion de cer-ti-fi-cat SSL []$\T1/lmtt/m/n/10 https : / / docs . gandi . net / en / domain _ names / faq / record _ + [] + +[13] +Underfull \hbox (badness 10000) in paragraph at lines 585--586 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 610--612 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 613--614 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 631--632 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 637--644 + + [] + +[14] +Underfull \hbox (badness 10000) in paragraph at lines 645--647 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 648--650 + + [] + + +Overfull \hbox (2.67853pt too wide) in paragraph at lines 659--665 +[]\T1/lmr/m/sc/10 Documentation : []$\T1/lmtt/m/n/10 https : / / wiki . debian-[]fr . xyz / Sauvegarder _ sa _ Debian _ en _ vue _ d % 27une _ R % C3 % A9installation _ ou _ + [] + +[15] +Underfull \hbox (badness 10000) in paragraph at lines 698--699 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 742--746 + + [] + +[16] +Underfull \hbox (badness 10000) in paragraph at lines 802--803 + + [] + +[17] +Underfull \hbox (badness 10000) in paragraph at lines 806--807 + + [] + + +LaTeX Font Warning: Font shape `T1/lmr/bx/sc' undefined +(Font) using `T1/lmr/bx/n' instead on input line 826. + +[18] +Underfull \hbox (badness 10000) in paragraph at lines 885--887 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 900--901 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 902--909 + + [] + + +Overfull \hbox (81.0652pt too wide) in paragraph at lines 922--923 +\T1/lmr/m/sc/10 Source : []$\T1/lmtt/m/n/10 https : / / stackoverflow . com / questions / 18076157 / why-[]does-[]configure-[]say-[]no-[]c-[]compiler-[]found-[]when-[]gcc-[]is-[]installed$[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 925--926 + + [] + +[19] [20] [21] +LaTeX Font Info: Font shape `T1/lmtt/bx/n' in size <12> not available +(Font) Font shape `T1/lmtt/b/n' tried instead on input line 1058. + +Underfull \hbox (badness 10000) in paragraph at lines 1059--1060 + + [] + +[22] +Underfull \hbox (badness 10000) in paragraph at lines 1120--1123 + + [] + +[23] +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1186. + [24] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 1186. + (./recueil.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1186. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1186. +Package rerunfilecheck Info: File `recueil.out' has not changed. +(rerunfilecheck) Checksum: 73ECDA07C999987C4A9721A50ABBFA9B;5982. + + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1186. + ) +Here is how much of TeX's memory you used: + 11446 strings out of 494491 + 159575 string characters out of 6175169 + 614702 words of memory out of 5000000 + 14310 multiletter control sequences out of 15000+600000 + 66339 words of font info for 62 fonts, out of 8000000 for 9000 + 36 hyphenation exceptions out of 8191 + 32i,6n,49p,536b,1886s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc}{/usr/share/texmf/fonts/enc/dvips/lm/lm-mathsy.enc} +Output written on recueil.pdf (24 pages, 401198 bytes). +PDF statistics: + 1278 PDF objects out of 1440 (max. 8388607) + 1226 compressed objects within 13 object streams + 647 named destinations out of 1000 (max. 500000) + 601 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/recueil.out b/recueil.out new file mode 100644 index 0000000..9bb4b3e --- /dev/null +++ b/recueil.out @@ -0,0 +1,75 @@ +\BOOKMARK [1][-]{section.1}{Commandes usuelles}{}% 1 +\BOOKMARK [1][-]{section.2}{Installations}{}% 2 +\BOOKMARK [2][-]{subsection.2.1}{Syst\350me}{section.2}% 3 +\BOOKMARK [3][-]{subsubsection.2.1.1}{Cr\351er une cl\351 USB Bootable}{subsection.2.1}% 4 +\BOOKMARK [3][-]{subsubsection.2.1.2}{Cr\351er une cl\351 USB live avec plusieurs ISOs}{subsection.2.1}% 5 +\BOOKMARK [3][-]{subsubsection.2.1.3}{V\351rification d'ISO}{subsection.2.1}% 6 +\BOOKMARK [3][-]{subsubsection.2.1.4}{Retirer le bip du clavier}{subsection.2.1}% 7 +\BOOKMARK [3][-]{subsubsection.2.1.5}{Faire appara\356tre GRUB au d\351marrage}{subsection.2.1}% 8 +\BOOKMARK [2][-]{subsection.2.2}{Terminal}{section.2}% 9 +\BOOKMARK [3][-]{subsubsection.2.2.1}{Changer de shell - Zsh}{subsection.2.2}% 10 +\BOOKMARK [3][-]{subsubsection.2.2.2}{Ajouter des plugins facilement dans Vim}{subsection.2.2}% 11 +\BOOKMARK [3][-]{subsubsection.2.2.3}{Colorer les codes couleurs html/rgb etc}{subsection.2.2}% 12 +\BOOKMARK [2][-]{subsection.2.3}{Disques chiffr\351s}{section.2}% 13 +\BOOKMARK [3][-]{subsubsection.2.3.1}{Monter un disque chiffr\351 en ligne de commande}{subsection.2.3}% 14 +\BOOKMARK [3][-]{subsubsection.2.3.2}{Monter un disque chiffr\351 automatiquement au d\351marrage}{subsection.2.3}% 15 +\BOOKMARK [2][-]{subsection.2.4}{Customisation, param\351trage}{section.2}% 16 +\BOOKMARK [3][-]{subsubsection.2.4.1}{Installer une police au format fichier .ttf}{subsection.2.4}% 17 +\BOOKMARK [3][-]{subsubsection.2.4.2}{Changer l'image de grub \(\351cran de d\351marrage\)}{subsection.2.4}% 18 +\BOOKMARK [3][-]{subsubsection.2.4.3}{Utiliser le pav\351 num\351rique comme souris}{subsection.2.4}% 19 +\BOOKMARK [3][-]{subsubsection.2.4.4}{Luminosit\351}{subsection.2.4}% 20 +\BOOKMARK [3][-]{subsubsection.2.4.5}{Changement image de profil}{subsection.2.4}% 21 +\BOOKMARK [2][-]{subsection.2.5}{Chercher et supprimer des fichiers en doublon}{section.2}% 22 +\BOOKMARK [2][-]{subsection.2.6}{Compresser des images en ligne de commande}{section.2}% 23 +\BOOKMARK [1][-]{section.3}{Manjaro - Arch Linux}{}% 24 +\BOOKMARK [2][-]{subsection.3.1}{Ressources diverses}{section.3}% 25 +\BOOKMARK [1][-]{section.4}{Awesome WM et la customisation avanc\351e}{}% 26 +\BOOKMARK [2][-]{subsection.4.1}{O\371 sont les fichiers ?}{section.4}% 27 +\BOOKMARK [2][-]{subsection.4.2}{D\351pendances}{section.4}% 28 +\BOOKMARK [1][-]{section.5}{Yunohost, Brique Internet et autres serveur-like tips}{}% 29 +\BOOKMARK [2][-]{subsection.5.1}{Brique Internet sur cl\351 4G}{section.5}% 30 +\BOOKMARK [3][-]{subsubsection.5.1.1}{Installation, post-installation}{subsection.5.1}% 31 +\BOOKMARK [3][-]{subsubsection.5.1.2}{Monter la cl\351 4G au d\351marrage comme interface r\351seau}{subsection.5.1}% 32 +\BOOKMARK [2][-]{subsection.5.2}{Utilisation de deux serveurs avec un domaine principal et un sous-domaine}{section.5}% 33 +\BOOKMARK [3][-]{subsubsection.5.2.1}{Enlever le bouton Yunohost permanent dans les applications}{subsection.5.2}% 34 +\BOOKMARK [1][-]{section.6}{Sauvegardes}{}% 35 +\BOOKMARK [2][-]{subsection.6.1}{Android - Utilisation de adb}{section.6}% 36 +\BOOKMARK [2][-]{subsection.6.2}{GNU-Linux}{section.6}% 37 +\BOOKMARK [3][-]{subsubsection.6.2.1}{Le paquet rsync}{subsection.6.2}% 38 +\BOOKMARK [3][-]{subsubsection.6.2.2}{Sauvegarde compl\350te de Debian avec un script}{subsection.6.2}% 39 +\BOOKMARK [1][-]{section.7}{Logiciels}{}% 40 +\BOOKMARK [2][-]{subsection.7.1}{Graphisme}{section.7}% 41 +\BOOKMARK [1][-]{section.8}{D\351veloppement Web}{}% 42 +\BOOKMARK [2][-]{subsection.8.1}{HTML}{section.8}% 43 +\BOOKMARK [3][-]{subsubsection.8.1.1}{Centrer une image}{subsection.8.1}% 44 +\BOOKMARK [3][-]{subsubsection.8.1.2}{Faire un fond de page web qui change al\351atoirement de couleur}{subsection.8.1}% 45 +\BOOKMARK [1][-]{section.9}{Internet}{}% 46 +\BOOKMARK [2][-]{subsection.9.1}{Flux RSS}{section.9}% 47 +\BOOKMARK [2][-]{subsection.9.2}{Multim\351dia}{section.9}% 48 +\BOOKMARK [3][-]{subsubsection.9.2.1}{youtube-dl}{subsection.9.2}% 49 +\BOOKMARK [3][-]{subsubsection.9.2.2}{Spotify pour Debian 9}{subsection.9.2}% 50 +\BOOKMARK [3][-]{subsubsection.9.2.3}{T\351l\351charger des playlists Spotify}{subsection.9.2}% 51 +\BOOKMARK [1][-]{section.10}{Vie priv\351e}{}% 52 +\BOOKMARK [2][-]{subsection.10.1}{Utiliser le VPN Riseup Black}{section.10}% 53 +\BOOKMARK [2][-]{subsection.10.2}{Changer son adresse mac}{section.10}% 54 +\BOOKMARK [1][-]{section.11}{Bugs divers}{}% 55 +\BOOKMARK [2][-]{subsection.11.1}{Bugs apr\350s une installation}{section.11}% 56 +\BOOKMARK [3][-]{subsubsection.11.1.1}{Driver wifi - Debian x bcm43xx}{subsection.11.1}% 57 +\BOOKMARK [2][-]{subsection.11.2}{Bugs dans le terminal}{section.11}% 58 +\BOOKMARK [3][-]{subsubsection.11.2.1}{./configure say no compiler found}{subsection.11.2}% 59 +\BOOKMARK [1][-]{section.12}{Divers}{}% 60 +\BOOKMARK [2][-]{subsection.12.1}{Wallabako - synchronisation wallabag et kobo}{section.12}% 61 +\BOOKMARK [2][-]{subsection.12.2}{Contr\364ler son t\351l\351phone Android - scrpy}{section.12}% 62 +\BOOKMARK [2][-]{subsection.12.3}{Stylet, PC tablette, etc}{section.12}% 63 +\BOOKMARK [3][-]{subsubsection.12.3.1}{Activer le clic droit du stylet}{subsection.12.3}% 64 +\BOOKMARK [2][-]{subsection.12.4}{ASCII art generator}{section.12}% 65 +\BOOKMARK [1][-]{section.13}{Windows}{}% 66 +\BOOKMARK [1][-]{section.14}{Annexes - Scripts}{}% 67 +\BOOKMARK [2][-]{subsection.14.1}{Trier des fichiers par ann\351e}{section.14}% 68 +\BOOKMARK [2][-]{subsection.14.2}{Post-Installation automatique}{section.14}% 69 +\BOOKMARK [2][-]{subsection.14.3}{Compression de PDF}{section.14}% 70 +\BOOKMARK [2][-]{subsection.14.4}{\311crire soit-m\352me des fortunes en semi-automatique}{section.14}% 71 +\BOOKMARK [2][-]{subsection.14.5}{Convertir une archive Youtube en dossier de favoris}{section.14}% 72 +\BOOKMARK [3][-]{subsubsection.14.5.1}{prog.sed}{subsection.14.5}% 73 +\BOOKMARK [3][-]{subsubsection.14.5.2}{header.txt}{subsection.14.5}% 74 +\BOOKMARK [3][-]{subsubsection.14.5.3}{rm.sh}{subsection.14.5}% 75 diff --git a/recueil.pdf b/recueil.pdf new file mode 100644 index 0000000..ad6f9e3 Binary files /dev/null and b/recueil.pdf differ diff --git a/recueil.synctex.gz b/recueil.synctex.gz new file mode 100644 index 0000000..a796691 Binary files /dev/null and b/recueil.synctex.gz differ diff --git a/recueil.tex b/recueil.tex new file mode 100644 index 0000000..34e70f9 --- /dev/null +++ b/recueil.tex @@ -0,0 +1,1186 @@ +\documentclass[10pt,a4paper,oneside]{article} +\usepackage{ae,lmodern} % ou seulement l'un, ou l'autre, ou times etc. +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath} +\usepackage{array} %list of figures +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{makeidx} +\usepackage{graphicx} +\usepackage{hyperref} +\hypersetup{hidelinks} %cache les encadrés en couleur de liens +\usepackage{xcolor} %Pour les couleurs +\usepackage{listings} +\usepackage{color} +\usepackage[top=2cm,right=1cm,left=1cm,bottom=2cm]{geometry} + +\definecolor{selection}{HTML}{1e843e} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{HTML}{820210} + +\lstset{ +%frame=bt, +backgroundcolor=\color{lightgray}, +language=bash, +aboveskip=3mm, +belowskip=3mm, +showstringspaces=false, +escapeinside={\$*}{*)}, +columns=flexible, +basicstyle={\small\ttfamily}, +numbers=none, +numberstyle=\tiny\color{gray}, +keywordstyle=\color{blue}, +commentstyle=\color{selection}, +stringstyle=\color{mauve}, +breaklines=true, +breakatwhitespace=false,tabsize=3, +} + +\begin{document} +\title{Compilation de commandes utiles régulièrement, ou pas\\} +\date{} +\maketitle +\begin{small} +\noindent Ce document est réalisé à partir de mes expériences diverses sur GNU/Linux, principalement Debian et depuis peu avec Awesome WM.\\ +Beaucoup de documentation existe sur le sujet, je ne vais donc pas réécrire ce qui existe déjà en mieux, mais plutôt partager des informations spécifiques qui m'ont demandé un peu de temps de recherche.\\ +\end{small} +\newpage +\tableofcontents +\newpage +\noindent +\section{Commandes usuelles} +Si l'on utilise pas quotidiennement son terminal, on se retrouve régulièrement à avoir à rechercher des commandes usuelles sur internet car on les a oubliées.\\ +L'objectif de cette page est donc de regrouper quelques commandes qui reviennent assez souvent.\\ + +\textbf{Pour une vraie documentation/présentation de ces commandes, je conseille la très bonne page : \url{https://linuxpedia.fr/doku.php/commande/commande}}. + +\subsubsection*{Pipe ou envoyer le résultat d'une commande dans une autre} + +Le signe | permet de renvoyer le résultat d'une commande dans la suivante au lieu de l'afficher dans le terminal : +\begin{lstlisting} +commande1 | commande2 +\end{lstlisting} + +Le résultat de la commande1 est utilisé comme argument de commande2. + +\subsubsection*{Cat ou afficher le contenu d'un fichier} + +La commande cat permet d'afficher le contenu d'un fichier grâce à : +\begin{lstlisting} +cat fichier.txt +\end{lstlisting} + +\subsubsection*{Télécharger une page internet} + +La commande \texttt{curl exemple.com} affichera dans votre terminal le contenu de la page demandée.\\ + +La commande \texttt{wget exemple.com} téléchargera ce contenu dans un fichier html. Il est possible de l'utiliser récursivement pour télécharger tout un site. + +\subsubsection*{Ajouter du contenu dans un fichier} + +Pour ajouter du contenu dans un fichier sans avoir à l'ouvrir, on peut utiliser \texttt{>>}. + +Ainsi \texttt{echo nouvelle ligne >> fichier.txt} ajoutera "nouvelle ligne" dans fichier.txt. + +On peut aussi l'utiliser avec une commande, par exemple : +\begin{lstlisting} +curl exemple.com >> fichier.txt +\end{lstlisting} +permettra d'ajouter le contenu de exemple.com dans fichier.txt, et crée le fichier si il n'existe pas. + +\subsubsection*{Trouver des caractères ou des fichiers} + +Pour ces tâches on utilisera les commandes \texttt{grep} et \texttt{find}, la première pour trouver des caractères/mots/lignes dans un fichier et la deuxième pour trouver des fichiers dans un répertoire selon leur nom ou extension par exemple.\\ + + + +\section{Installations} +\subsection{Système} +\subsubsection{Créer une clé USB Bootable} +\textbf{Attention, cette commande nécessite de savoir précisément l'identification de votre clé usb, sinon vous risquez de perdre toutes vos données en formattant votre disque dur.}\\ +Pour plus d'informations : \url{https://doc.ubuntu-fr.org/live_usb#en_ligne_de_commandes}\\ +\begin{lstlisting} +sudo dd bs=4M status=progress if=votre.iso of=/dev/sdX && sync +\end{lstlisting} +\subsubsection{Créer une clé USB live avec plusieurs ISOs} +Il est également possible d'utiliser plusieurs images dans une seule clé. Pour cela on peut installer \texttt{multibootusb} (\url{http://multibootusb.org/page_download/}). Pour l'installer :\\ +\begin{lstlisting} +sudo dpkg -i python3-multibootusb_9.2.0-1_all.deb +\end{lstlisting} +Si vous rencontrez des problèmes de dépendances non satisfaites, relevez les noms de ces paquets, installez les puis répétez la commande ci-dessus.\\ +Exécutez ensuite le programme avec \texttt{sudo multibootusb}.\\ +\subsubsection{Vérification d'ISO} +\noindent +La vérification d'iso consiste à vérifier l'authenticité et l'intégrité des images téléchargées. La méthode exacte sera spécifique à chaque .iso car les fichiers et signatures ne seront pas la même, cette partie présentera donc des commandes usuelles mais ne permet pas de réaliser toutes les étapes sans regarder la documentation spécifique à la vérification souhaitée.\\ +\textsc{Tentative d'explication :} l'authenticité permet de vérifier que le fichier téléchargé a bien été créé par la personne qui dit l'avoir signée. L'intégrité permet de vérifier que le fichier n'a pas été modifié par une personne tiers. Ces méthodes \textbf{ne peut pas prouver que le fichier n'est pas malicieux}, on doit donc choisir de nous-même si l'on fait confiance aux personnes qui ont créé ces fichiers. +Tout d'abord, télécharger dans le même fichier le .iso (ou autre format, mais le fichier de l'image logiciel) et les fichiers de signature SHA256sum.txt et SHA256sum.txt.gpg (de même, les extensions de fichier peuvent varier).\\ +Il faut ensuite générer le SHA256sum de l'iso téléchargé afin de le comparer au fichier téléchargé. +Générer le SHA256sum : +\begin{lstlisting} +sha256sum -b *.iso +\end{lstlisting} +Il faut ensuite comparer la signature obtenue à celle contenue dans SHA256sum.txt. Une méthode permet de le faire à partir d'une ligne de commande : +\begin{lstlisting} +sha256sum --ignore-missing -c sha256sum.txt +\end{lstlisting} +\textbf{Vérification d'authenticité}\\ + +Pour vérifier l'authenticité de SHA256sum.txt il faut vérifier la signature de SHA256sum.txt.gpg.\\ +Il faut tout d'abord importer la clé de signature du système d'exploitation, pour \emph{Debian} : +\begin{lstlisting} +gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF +gpg --verify sha256sum.txt.gpg sha256sum.txt +\end{lstlisting} +\subsubsection{Retirer le bip du clavier} +Il arrive qu'après une nouvelle installation le clavier \emph{bip} en cas d'entrée vide. +Pour l'enlever :\\ +\begin{lstlisting} +echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf +\end{lstlisting} +Le bruit aura disparu après un redémarrage. +\subsubsection{Faire apparaître GRUB au démarrage} +Après une nouvelle installation de Manjaro, je n'avais pas accès à GRUB au démarrage et je ne pouvais pas changer de noyau. Cela était dû au fait que GRUB était configuré comme caché. On peut le modifier dans son fichier de configuration : \texttt{/etc/default/grub}. +Il suffit de changer +\begin{lstlisting} +GRUB_TIMEOUT_STYLE="hidden" +\end{lstlisting} +en +\begin{lstlisting} +GRUB_TIMEOUT_STYLE="menu" +\end{lstlisting} +Il est aussi possible de changer le temps d'affichage de GRUB avec la variable \texttt{GRUB\_TIMEOUT}.\\ +Pour que les changements soient pris en compte : +\begin{lstlisting} +sudo update-grub +\end{lstlisting} +\subsection{Terminal} +\subsubsection{Changer de shell - Zsh} +Le shell par défaut des principales distributions Linux est \emph{bash}, un autre shell populaire offrant de nombreuses fonctionnalités est \emph{zsh} et son extension populaire \texttt{oh-my-zsh}. +Pour l'utiliser il faut d'abord l'installer :\\ +\begin{lstlisting} +sudo apt install zsh +\end{lstlisting} +pour Arch Linux ou Manjaro : +\begin{lstlisting} +sudo pacman -S zsh +\end{lstlisting} +On peut vérifier qu'il est bien installé avec : +\begin{lstlisting} +zsh --version +\end{lstlisting} +Pour changer de shell par défaut et pour passer à zsh : +\begin{lstlisting} +chsh -s $(which zsh) +\end{lstlisting} +Il faut ensuite se déconnecter pour mettre à jour le changement.\\ + +\noindent \textbf{Installer oh-my-zsh} +\begin{lstlisting} +sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" +\end{lstlisting} +Wiki : \url{https://github.com/ohmyzsh/ohmyzsh/wiki}\\ + +\noindent Il est maintenant possible de configurer à nos souhaits ce shell via le fichier \texttt{.zshrc}.\\ + +\noindent Deux vidéos intéressantes pour comprendre les fonctionnalités disponibles et comment les utiliser :\\ +\url{https://www.youtube.com/watch?v=4KBuPCeF9Gc}\\ +\url{https://www.youtube.com/watch?v=soAwUq2cQHQ} +\subsubsection{Ajouter des plugins facilement dans Vim} +\url{https://github.com/VundleVim/Vundle.vim} +\subsubsection{Colorer les codes couleurs html/rgb etc} +Un plugin pour surligner de la couleur correspondante les codes couleurs dans Vim :\\ +\url{https://github.com/gko/vim-coloresque} +\subsection{Disques chiffrés} +\subsubsection{Monter un disque chiffré en ligne de commande} +Monter un disque chiffré ne requiert pas les mêmes commandes que pour un disque normal, mais c'est finalement assez simple.\\ +Tout d'abord vous devez bien entendu avoir \texttt{cryptsetup} d'installé sur votre système.\\ +\begin{lstlisting} +sudo apt install cryptsetup +\end{lstlisting} +Ensuite on aura ces opérations à réaliser : +\begin{lstlisting} +sudo cryptsetup luksOpen /dev/sdc1 cryptdrive +sudo mkdir /media/MONDISQUE +sudo mount /dev/mapper/cryptdrive /media/MONDISQUE/ +\end{lstlisting} +Le \texttt{/dev/sdc1} donne l'information de la \textbf{partition} que vous voulez monter, et \texttt{cryptdrive} est le \emph{mapper} que vous nommez pour que le système reconnaisse le disque.\\ +La deuxième ligne est optionnelle si l'emplacement de montage souhaité existe déjà.\\ +La dernière commande est la commande habituelle de montage : identification du disque à monter et l'emplacement où le monter.\\ +\subsubsection{Monter un disque chiffré automatiquement au démarrage} +Il est possible de monter automatique le disque chiffré sans avoir à renseigner la phrase de déchiffrement si vous configurez un fichier "clé" et l'utilisez au démarrage.\\ +\textbf{Mon "tuto" est seulement un rappel des commandes nécessaires, sans grandes explications car tout est bien détaillé dans la source que j'ai utilisé. Si cela ne fonctionne pas parfaitement il y a plus de détails dans l'article source.} +Source : \url{https://blog.tinned-software.net/automount-a-luks-encrypted-volume-on-system-start/}\\ +On commence par créer un fichier \texttt{disksecretkey} rempli aléatoirement qui servira à contenir la clé de déchiffrement. Il faudra peut être créer le dossier \texttt{luks-keys} si il n'existe pas. +\begin{lstlisting} +dd if=/dev/urandom of=/etc/luks-keys/disksecretkey bs=512 count=8 +\end{lstlisting} +On peut ensuite lier ce fichier à notre disque et sa phrase de déchiffrement : +\begin{lstlisting} +sudo cryptsetup -v luksAddKey /dev/sdb1 /etc/luks-keys/disksecretkey +\end{lstlisting} +Cela vous demandera la phrase de déchiffrement de votre disque (attention à bien renseigner votre partition à la place de sdb1).\\ +Ensuite on récupère le UUID du disque pour l'utiliser dans les règles au démarrage : +\begin{lstlisting} +sudo cryptsetup luksDump /dev/sdb1 | grep "UUID" +\end{lstlisting} +On ajoute une règle dans le fichier \texttt{/etc/crypttab} : +\begin{lstlisting} +sdb1-crypt UUID=2a2375bf-2262-413c-a6a8-fbeb14659c85 /etc/luks-keys/disksecretkey luks +\end{lstlisting} +Enfin, pour qu'il soit monté au démarrage on ajoute une ligne au fichier dédié : \texttt{/etc/fstab} +\begin{lstlisting} +/dev/mapper/sdb1-crypt /media/gerhard/Daten ext4 defaults 0 2 +\end{lstlisting} +Pour des règles plus spécifiques consultez la page dédiée à \texttt{fstab} : \url{http://man7.org/linux/man-pages/man5/fstab.5.html} +\subsection{Customisation, paramétrage} +\subsubsection{Installer une police au format fichier .ttf} +\noindent +Pour l'installer seulement pour l'utilisateur·ice : +\begin{lstlisting} +cp exemple.ttf .fonts +\end{lstlisting} +Pour l'installer sur tout le système : +\begin{lstlisting} +cp exemple.ttf /usr/share/fonts +\end{lstlisting} +\subsubsection{Changer l'image de grub (écran de démarrage)} +Il est possible de changer l'image d'arrière plan de GRUB, l'utilitaire de démarrage de Debian (et d'autres distribution) qui permet de choisir quelle distribution lancer.\\ +L'image utilisée doit cependant respecter un format spécifique, elles peuvent être png, jpg/jpeg ou tga mais avec ces caractéristiques :\\ +\begin{enumerate} +\item les images doivent être 8-bits (256 couleurs) +\item les images doivent être non-indexées, RGB +\end{enumerate} +Des convertisseurs d'images pour les transformer sous ces caractéristiques sont trouvables sur \emph{internet}.\\ +Par défaut, si le paquet \emph{desktop-base} est installé les images utilisables sont trouvables dans le répertoire \verb+/usr/share/images/desktop-base/+.\\ +GRUB va chercher l'image à afficher selon un ordre particulier présenté ici par ordre de priorité :\\ +\begin{enumerate} +\item la ligne \verb+GRUB_BACKGROUND+ dans \verb+/etc/default/grub+ +\item la première image trouvée dans \verb+/boot/grub/+ +\item l'image spécifiée dans \verb+/usr/share/desktop-base/grub_background.sh+ +\item le fichier listé à la ligne WALLPAPER dans \verb+/etc/grub.d/05_debian_theme+ +\end{enumerate} +Le plus simple étant donc de modifier ou créer la ligne \verb+GRUB_BACKGROUND=+ dans +\verb+/etc/default/grub+ en ajoutant le chemin du fichier derrière le \verb+=+. \emph{pour modifier ce fichier, il est nécessaire d'avoir les droits administrateur}. +\textbf{Pour avoir la modification effective, il faut utiliser la commande :}\\ +\verb+update-grub+\\ +\textsc{Changer les couleurs du texte :}\\ +On peut également changer les couleurs du texte grâce aux 3 options suivantes : +\begin{enumerate} +\item \verb+menu_color_highlight+ : la couleur de l'entrée menu surlignée et son fond à l'intérieur du menu. +\item \verb+menu_color_normal+ : la couleur de l'entrée menu non-sélectionnée et son fond +\item \verb+color_normal+ : la couleur du texte et son fond à l'extérieur du menu. +\end{enumerate} +La syntaxe à utiliser est la suivante : +\verb+menu_color_highlight=fg-color/bg-color+ +Et la liste des couleurs supportées est : \\ +black \\ +blue\\ +brown\\ +cyan\\ +dark-gray\\ +green\\ +light-cyan\\ +light-blue\\ +light-green\\ +light-gray\\ +light-magenta\\ +light-red\\ +magenta\\ +red\\ +white\\ +yellow\\ +Pour changer les couleurs, il faut ensuite ouvrir \verb+/etc/grub.d/05_debian_theme+ et trouver la ligne : +\begin{lstlisting} +if [ -z "${2}" ] && [ -z "${3}" ]; then + echo " true" +fi +\end{lstlisting} +Et la remplacer par : +\begin{lstlisting} +if [ -z "${2}" ] && [ -z "${3}" ]; then + # echo " true" + echo " set color_highlight=red/green" + echo " set color_normal=light-cyan/black" +fi +\end{lstlisting} +\textbf{Ne pas changer le "black"} dans \verb+color_normal+ sinon l'image ne sera pas transparente à l'endroit où le menu est affiché.\\ +\textbf{Pour avoir la modification effective et la visualiser, il faut utiliser la commande suivante et redémarrer}\\ +\verb+update-grub+\\ + +Il est également possible d'expérimenter en "live" au démarrage en arrêtant le compte à rebours (en tapant n'importe quelle touche) et en tapant "C" pour entrer dans la ligne de commande GRUB.\\ +Vous pouvez alors expérimenter à votre souhait : +\begin{lstlisting} +grub> set color_highlight=red/green +grub> set color_normal=light-cyan/black +\end{lstlisting} +Pressez ESC pour voir les modifications et recommencez si cela ne vous convient pas.\\ +\subsubsection{Utiliser le pavé numérique comme souris} +Il est possible d'utiliser le pavé numérique comme une souris ! Pour l'activer de manière non permanente il suffit d'utiliser : +\begin{lstlisting} +setxkbmap -option keypad:pointerkeys +\end{lstlisting} +Ensuite pour l'utiliser il faut utiliser la combinaison \textbf{Shift+NumLock} et le pavé numérique fonctionnera comme une souris avec des raccourcis spécifiques.\\ +Pour se déplacer : +\begin{itemize} + \item 7, 8, 9 pour un déplacement vers le haut + \item 4, 6 pour gauche et droite + \item 1, 2, 3 pour le bas +\end{itemize} +Pour cliquer c'est légèrement compliqué : +\begin{itemize} + \item / sélectionne le clic gauche (appuyer deux fois pour un double clic, trois fois pour un triple) + \item * sélectionne le clic du milieu + \item - sélectionne le clic droit +\end{itemize} +Une fois que le clic est sélectionné il est seulement \textbf{actif} et il faut donc utiliser une autre touche pour l'utiliser : +\begin{itemize} + \item 5 ou + pour réellement cliquer + \item 0 / ins pour cliquer et garder actif (pour faire glisser) + \item . / Del pour libérer +\end{itemize} +Pour garder cette configuration au redémarrage il faut ajouter l'option dans le fichier de configuration, ou le créer si besoin :\\ +\texttt{/etc/X11/xorg.conf.d/00-keyboard.conf} +\begin{lstlisting} +Section "InputClass" + Identifier "system-keyboard" + MatchIsKeyboard "on" + Option "XkbOptions" "keypad:pointerkeys" +EndSection +\end{lstlisting} +\textsc{Source :} \url{https://linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg} +\subsubsection{Luminosité} +Pour régler la luminosité en ligne de commande, on utilise \textbf{xrandr}.\\ +Tout d'abord on cherche l'écran que l'on veut paramétrer : +\begin{lstlisting} +~$ xrandr +Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 +LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) +\end{lstlisting} +On voit donc que l'écran connecté est LVDS-1. Pour le baisser à 50\% de luminosité : +\begin{lstlisting} +xrandr --output LVDS-1 --brightness 0.5 +\end{lstlisting} +Pour toute autre valeur on ajuste le nombre renseigné (1 pour avoir 100\%, 0.1 pour 10\% etc).\\ + +J'ai trouvé une manière de changer la luminosité après quelques recherches, c'est probablement une manière beaucoup trop compliquée de faire mais c'est pratique pour apprendre les commandes et ça fonctionne.\\ +J'ai fait trois scripts différents, un pour augmenter de 10\% la luminosité, un pour la baisser et un dernier pour juste afficher la luminosité actuelle en pourcentage.\\ +Ces scripts sont composés de seulement une ligne mais avec plusieurs commandes dedans. Ainsi, celle-ci permet de baisser la luminosité de 10\% :\\ +\begin{lstlisting} +xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)-.1" | bc) +\end{lstlisting} +On retrouve la commande de départ avec le \texttt{--output} avec le nom de votre écran puis \texttt{--brightness} qui prend la valeur en décimale qu'on veut pour l'écran (1.0 pour 100\% et 0.1 pour 10\%). On cherche d'abord la luminosité actuelle.\\ +\begin{lstlisting} +xrandr --current --verbose|grep -i Brightness +\end{lstlisting} +Donne quelque chose comme : +\begin{lstlisting} +Brightness: 1.0 +\end{lstlisting} +On utilise alors : +\begin{lstlisting} +| sed s/"Brightness: "//g +\end{lstlisting} +\emph{Le signe \texttt{|} permet d'envoyer le résultat de la commande à gauche dans la commande à droite.}\\ +Cela permet de récupérer seulement la valeur décimale. +Puis on utilise \texttt{-.1} pour enlever 10\% à la valeur trouvée.\\ + +En \textbf{bash} on ne peut pas faire du calcul en décimal puisque les valeurs sont considérés comme des chaînes de caractères. Il faut alors utiliser \textbf{bc} : \url{http://jlbicquelet.free.fr/unix/bc.php}.\\ +\textbf{bc} prend comme argument la valeur de la parenthèse (à l'aide du signe \texttt{\$}) et fait le calcul, qui nous rend donc la valeur actuelle de la luminosité moins 10\%.\\ + + +De la même manière, on a la commande pour augmenter de 10\% :\\ +\begin{lstlisting} +xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)+.1" | bc) +\end{lstlisting} + +Enfin, j'ai fait une commande pour récupérer la valeur actuelle de la luminosité et la convertir en pourcentage :\\ +\begin{lstlisting} +echo $(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)*100 | bc +\end{lstlisting} +On retrouve la même base sauf que le calcul est seulement une multiplication par 100 de la valeur actuelle. Cette commande est utilisée pour mon widget de luminosité.\\ +\subsubsection{Changement image de profil} +\noindent Pour modifier l'image affichée sur l'écran de connexion. +\begin{lstlisting} +sudo nano /etc/lightdm/lightdm-gtk-greeter.conf +\end{lstlisting} +Le paquet accountsservice résoud une dépendance et permet d'utiliser mugshot qui définit la photo de profil du compte.\\ +\subsection{Chercher et supprimer des fichiers en doublon} +On utilise le paquet fdupes :\\ +\begin{lstlisting} +fdupes [options] DIRECTORY +\end{lstlisting} +Pour chercher les doublons récursivement dans un dossier et les supprimer :\\ +\begin{lstlisting} +fdupes -r -d DIRECTORY +\end{lstlisting} +\textsc{Sources :} : \url{https://linux.die.net/man/1/fdupes}\\ + +Une autre solution est d'utiliser fslint : +\begin{lstlisting} +sudo apt install fslint +\end{lstlisting} +\subsection{Compresser des images en ligne de commande} +sudo apt-get install jpegoptim +\section{Manjaro - Arch Linux} +\subsection{Ressources diverses} +Post-Installation :\\ +\url{https://www.youtube.com/watch?v=jl4nyEA-F-o} +\url{https://wiki.archlinux.org/index.php/Xfce#Use_a_different_window_manager} +\url{https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and_GTK_applications} + +\section{Awesome WM et la customisation avancée} +La plupart des distributions utilisent par défaut des gestionnaires de fenêtres "flottantes" : XFCE, MATE, GNOME, etc. Il existe cependant des gestionnaires en mosaïque (Tiling managers) qui permettent de gérer plus précisément ses fenêtres et tout son environnement graphique (à condition de bien vouloir y passer quelques heures de configuration). J'en ai rapidement testé plusieurs mais \emph{Awesome} est celui dont j'ai le mieux réussi la prise en main et donc que j'utilise en ce moment.\\ +En parallèle de ce gestionnaire j'utilise : kitty en terminal, vim en éditeur, compton pour la transparence, ranger pour les fichiers et conky pour mon affichage de données en continu sur le bureau. +\subsection{Où sont les fichiers ?} +Souvent, l'emplacement des fichiers de configuration est "évidente" pour les personnes partageant leurs codes sur internet, et pourtant\ldots\\ + +J'essaye d'utiliser \emph{Vim} pour éditer mes fichiers. Parce que apparemmment c'est la référence pour être efficace et qu'il est configurable pour avoir de la saisie semi-automatique dans LateX. Il est dur de prise en main mais super pratique quand on (commence) à s'y faire.\\ +Pour l'édition des thèmes il est presque indispensable grâce à l'extension que j'ai installée qui surligne les codes des couleurs par leur couleur correspondante.\\ +\begin{lstlisting} +~/.vim/ +~/.vimrc +\end{lstlisting} +Pour les raccourcis : \url{https://vim.rtorr.com/} +Pour le gestionnaire de fichier j'utilise au maximum ranger qui permet d'afficher les fichiers textes sans avoir à les ouvrir, très pratique pour explorer les dossier de code. Il s'utilise au clavier et peut être super rapide et pratique une fois qu'on s'y fait.\\ +J'utilise : \url{https://ranger.github.io/cheatsheet.png} pour les raccourcis. Les fichiers de configurations sont dans : +\begin{lstlisting} +~/.config/ranger/ +\end{lstlisting} +Ici les modifications sont le fait d'afficher les fichiers cachés et d'activer l'affichage des images directement dans kitty.\\ + +Pour le terminal, j'utilise kitty. Il est sobre et permet d'afficher les images en utilisant ranger. +\begin{lstlisting} +~/.config/kitty/ +\end{lstlisting} +Contient le thème dans \emph{theme.conf} basé sur mon thème actuel.\\ + +J'ai installé et configuré Conky pour avoir un affichage permanent de pas mal de données sur le Bureau. +Tout est dans un fichier \emph{.conkyrc} dans le dossier utilisateur·ice. Il utilise une image dans \emph{Images/ImagesConfig/}. Il dépend surtout des polices installées et les données sur le réseau utilise le nom d'interface réseau qui peut être différente selon les ordinateurs (pour l'ethernet comme pour le wifi).\\ + +Pour la \textbf{transparence}, j'utilise compton et son fichier de configuration \emph{.config/compton.conf}. Il permet de choisir la transparence des fenêtres actives/inactives, les exclusions, et "l'ombre" sur les fenêtres inactives.\\ + + +Pour les thèmes, les fichiers sont à trouver et/où copier ici : +\begin{lstlisting} +~/.themes/ +~/.fonts/ +~/.icons/ +\end{lstlisting} + +Pour Awesome j'utilise du code trouvé sur internet, et plusieurs dossiers de dépendances pour les widgets. Le fichier \textbf{rc.lua} sert à définir le fonctionnement global (comportement des fenêtres, programmes au démarrage, par défaut, raccourcis clavier, etc) puis dans le dossier \textbf{themes} on trouve tout ce qui est esthétique.\\ +Le dossier où tout se passe est ici : +\begin{lstlisting} +~/.config/awesome/ +\end{lstlisting} +\subsection{Dépendances} +\begin{lstlisting} +sudo apt install awesome awesome-extra i3lock conky compton kitty vim-runtime ranger lxappearance pulsemixer papirus-icon-theme numix-icon-theme +\end{lstlisting} + +J'utilise pulsemixer parce que j'ai réussi à le configurer dans mes raccourcis clavier pour qu'il soit compatible avec mon casque bluetooth. + +Lxappearance est nécessaire pour changer le thème utilisé. En effet le programme de xfce ne fonctionne pas dans Awesome (les modifications ne sont pas prises en compte). + +J'utilise kitty parce que c'est un terminal très épuré, il a aussi l'avantage de pouvoir afficher les images en étant dans ranger (gestionnaire de fichiers intégré au terminal, avec beaucoup de raccourcis clavier, les mêmes que Vim). + +Vim est la référence apparemment pour éditer le code grâce à ses dizaines de raccourcis clavier, je l'ai pas mal configuré pour pouvoir écrire plus facilement du Latex. Et j'utilise un plugin très pratique qui affiche les couleurs du code (les codes couleurs RVB et HTML sont surlignés de la couleur correspondante, très pratique pour l'édition des thèmes). + +Sur GitHub : +i3lock-fancy +\section{Yunohost, Brique Internet et autres serveur-like tips} +\subsection{Brique Internet sur clé 4G} +Le projet \url{labriqueinter.net} permet d'installer un mini-serveur sur une carte ARM ou Rasberry (ou autre) avec la particularité de créer un réseau wifi lié à un VPN. Tous les appareils connectés sont alors \emph{protégés} par le VPN si ils se connectent à ce réseau plutôt qu'à celui de la box. Le projet est basé sur \url{yunohost.org} lui même basé sur Debian, permettant de faciliter l'installation et l'utilisation d'un serveur pour les non-initié·es.\\ + +Mon cas est particulier pour deux raisons : +\begin{enumerate} + \item J'utilise une carte OLIMEX LIME 1, pour laquelle il n'y a pas d'images pour la dernière version du projet, il faut donc réaliser une migration après avoir installé la version précédente. + \item J'utilise une clé 4G Huawei pour me connecter et non un câble ethernet, il faut donc configurer la carte pour qu'elle se connecte sur cette clé au démarrage.\\ +\end{enumerate} + +Ces deux particularités m'ont causé pas mal de soucis avant de finalement réussir une installation. Une réinstallation est maintenant l'occasion pour moi de documenter les opérations nécessaires.\\ +\subsubsection{Installation, post-installation} +J'ai utilisé le programme disponible sur \url{install.labriqueinter.net} pour générer mon fichier \texttt{install.hypercube}. Il faut ensuite utiliser le script fourni \texttt{install-sd.sh} pour installer les fichiers sur la carte sd. Comme il manque la dernière version de l'image pour la LIME1 il y a une erreur à l'exécution.\\ +Deux solutions sont alors possibles : installer via une image brique internet Jessie puis faire la migration vers Stretch, ou faire une image brique internet à partir d'une image Yunohost. La première option n'a pas fonctionné pour moi et elle prend énormément de temps avec toutes les mises à jour à faire.\\ +On préfèrera donc la méthode :\\ +\begin{itemize} + \item Télécharger une image Yunohost pour LIME1 : \url{https://yunohost.org/#/images} + \item Créer l'image Brique internet à l'aide du script fourni ici : \url{https://github.com/labriqueinternet/build.labriqueinter.net/} + \item Utiliser le script d'installation sur carte SD avec l'image créée.\\ +\end{itemize} +Ma commande d'exécution est celle-ci : +\begin{lstlisting} +bash install-sd.sh -y install.hypercube -f internetcube-stretch-3.4.2-lime-stable.img +\end{lstlisting} +L'option \texttt{-s} permet de préciser quel périphérique utiliser si vous savez déjà l'emplacement de celui-ci. +Vous avez besoin d'avoir arp-scan pour la suite : +\begin{lstlisting} +sudo apt install arp-scan +bash install-sd.sh -l +\end{lstlisting} +La deuxième commande permet de scanner le réseau pour détecter la brique en cours d'installation. Cela vous donnera l'adresse IP de la brique pour suivre l'avancement de l'installation.\\ +\subsubsection{Monter la clé 4G au démarrage comme interface réseau} +J'utilise une clé Huawei E3372h, j'ai suivi des tutoriels pour la passer de \emph{hilink} à \emph{stick} mais \textbf{je ne suis pas certain que cela soit nécessaire finalement, je vous conseille d'essayer d'abord les commandes suivantes avant d'essayer de faire le changement de mode.}\\ +Je partage cependant les liens qui m'ont permis de réaliser ce changement (cela m'a nécessité l'utilisation de linux mais aussi windows) :\\ +\url{https://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/}\\ +\url{http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html}\\ +\url{https://markus.relix.de/index.php/Set_Huawei_E3372h_from_hilink_to_stick_mode}\\ + +\noindent Lors de mes premiers tests j'ai testé plusieurs méthodes souvent sans résultats, la solution vient finalement de ce post : \url{https://askubuntu.com/questions/755570/how-to-enable-broadband-connection-with-huawei-e3372h-on-ubuntu-server}\\ +Ces explications permettent pour mon cas d'ajouter deux lignes dans \texttt{/etc/rc.local} permettant de démarrer la brique en utilisant la clé 4G comme interface réseau. Ce fichier est celui qui permet de lancer des commandes au démarrage.\\ +\textbf{rc.local} +\begin{lstlisting} +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. +echo -e "AT^NDISDUP=1,1,\"websfr\"\r" > /dev/ttyUSB0 +dhclient wwan0 +exit 0 +\end{lstlisting} +Le \texttt{websfr} doit être modifié pour correspondre à l'\textbf{APN} de votre opérateur.\\ + +À la suite de ma réinstallation éditer ce fichier est tout ce qu'il m'a fallu faire pour que cela fonctionne.\\ +\subsection{Utilisation de deux serveurs avec un domaine principal et un sous-domaine} +J'utilise deux serveur, un comme brique internet sur clé 4G, et un autre en serveur principal pour les gros services. Ils ont donc deux adresses IP publiques différentes.\\ +Il me fallait donc bien configurer mes enregistrements DNS pour renvoyer mon sous-domaine dédié à la brique internet vers son adresse IP publique, ainsi que pouvoir lui installer un certificat SSL (pour l'https).\\ +Il y a donc deux champs à rajouter aux enregistrements DNS :\\ +\begin{itemize} + \item Un enregistrement \textbf{A} pour rediriger vers l'ip \url{https://docs.gandi.net/en/domain_names/faq/record_types/a_record.html} + \item Un enregistrement \textbf{CAA} pour la création de certificat SSL \url{https://docs.gandi.net/en/domain_names/faq/record_types/caa_record.html#caa-records} +\end{itemize} +En suivant ces documentations on a donc : +\begin{lstlisting} +brique 1800 IN A votre.ip +brique.votredomaine.com 3600 IN CAA 128 issue "letsencrypt.org" +\end{lstlisting} +\subsubsection{Enlever le bouton Yunohost permanent dans les applications} +Certaines applications affiche par défaut en bas à droite un lien avec le logo de yunohost. Pour l'enlever il faut modifier la configuration de \texttt{nginx} pour chaque application.\\ +Il suffit de commenter la ligne : +\begin{lstlisting} +include conf.d/yunohost_panel.conf.inc +\end{lstlisting} +Les fichiers de config sont dans : \texttt{/etc/nginx/conf.d/} (cela peut varier).\\ +Pour info le script appelé est le suivant : +\begin{lstlisting} +# Insert YunoHost button + portal overlay +sub_filter ''; +sub_filter_once on; +# Apply to other mime types than text/html +sub_filter_types application/xhtml+xml; +# Prevent YunoHost panel files from being blocked by specific app rules +location ~ (ynh_portal.js|ynh_overlay.css|ynh_userinfo.json) { +} +\end{lstlisting} +\textbf{Pour voir les changements il faut recharger nginx}\\ +\begin{lstlisting} +sudo systemctl restart nginx +\end{lstlisting} +\section{Sauvegardes} +\subsection{Android - Utilisation de adb} +\noindent +Installation : +\begin{lstlisting} +sudo apt-get install android-tools-adb android-tools-fastboot +\end{lstlisting} +Détection : +\begin{lstlisting} +adb devices +\end{lstlisting} +Sauvegarde : +\begin{lstlisting} +adb backup -apk -shared -all -f backup.ab +\end{lstlisting} +Restaurer : +\begin{lstlisting} +adb restore backup.ab +\end{lstlisting} +\subsection{GNU-Linux} +\subsubsection{Le paquet rsync} +\noindent +Le paquet \emph{rsync} permet de sauvegarder ses données par copies. Il copie tous les fichiers sources vers la destination que vous avez choisie. Ensuite, il ne mettra à jour que ceux qui ont été modifiés ou ajoutés. D'où un gain de temps. De plus, rsync peut aussi être utilisé à travers un réseau.\\ + +\noindent \textsc{Syntaxe de base} : \textbf{rsync [option] /source /destination}\\ + +\noindent Copier un dossier intégralement +\begin{lstlisting} +rsync -av /source /destination +\end{lstlisting} +Copier seulement son contenu +\begin{lstlisting} +rsync -av /source/ /destination +\end{lstlisting} +\textbf{Transfert via SSH, avec un port spécifique} +\begin{lstlisting} +rsync -avzh -e "ssh -p $PORT" --progress /source/ user@domain.net:/destination/ +\end{lstlisting} +Lors d'un téléchargement distant par ssh, en cas de coupure +\begin{lstlisting} +rsync --partial --progress --rsh=ssh [source] [user]@[host]:[destination] +\end{lstlisting} +L'option \textbf{--partial} relance depuis le point d'arrêt, \textbf{--progress} affiche la progression et \textbf{--rsh=ssh} sécurise le transfert.\\ + +\noindent \textbf{Exemple} : +\begin{lstlisting} +rsync -r -t -x -v -n --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" --filter "+ jeVeuxCeluiCi.txt" /home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/ | more +\end{lstlisting} +-r fait une copie récursive\\ +-S, traite les fichiers à trous efficacement\\ +-x, ne traverse pas les limites du système de fichiers\\ +-n, simule la sauvegarde sans ne rien faire réellement\\ +--progress affiche la progression\\ +--filter permet de désigner les dossiers que l'on ne veut pas sauvegarder (signe -) ou que l'on veut ajouter à la liste (signe +)\\ +\emph{enlever le -n et |more pour que la sauvegarde se fasse une fois satisfait.}\\ + +\noindent +\textbf{Interfaces graphiques disponibles} : grsync et luckybackup\\ + +\noindent +\textsc{Documentation :} \url{https://debian-facile.org/doc:reseau:rsync}\\ +\subsubsection{Sauvegarde complète de Debian avec un script} +À l'aide du paquet présenté ci-dessus il est possible de créer un ou des scripts qui sauvegarderont vos données sur un disque externe ou même sur le réseau. Je décris ici la méthode pour une sauvegarde de la racine (fichier de configuration, paquets, réglages des paquets, etc) et des fichiers personnels.\\ +\emph{Cette partie demande de connaître l'organisation des fichiers dans un système GNU/Linux et comment les contrôler dans un terminal.}\\ +\textbf{Cette partie demande en particulier des précautions car elle consiste à modifier ses fichiers avec un contrôle \emph{root} et cela n'est pas sans risques.}\\ +\textbf{Il faut en particulier adapter les noms des partitions de ce guide à son propre système.}\\ +Pour identifier ses disques, tapez (\emph{en root}) : +\begin{lstlisting} +:~# fdisk -l +\end{lstlisting} +Vérifiez que vous n'avez aucun périphérique usb branché, éteignez et débranchez votre ordinateur, rallumez pour identifier votre disque source. Remettez hors tension, branchez le ou les disques externes, rallumez et identifiez les disques en root. +Si vous utilisez un seul disque externe vous devriez trouver :\\ +\verb+/dev/sda ### disque source+\\ +\verb+/dev/sdb ### disque des sauvegardes+\\ +\noindent +\textsc{Documentation :} \url{https://wiki.debian-fr.xyz/Sauvegarder_sa_Debian_en_vue_d\%27une_R\%C3\%A9installation_ou_Reconstruction_-_Racine_et_Home_s\%C3\%A9par\%C3\%A9s} +\section{Logiciels} +\noindent Lister les paquets installés +\begin{lstlisting} +dpkg-query -l +\end{lstlisting} +\textsc{Documentation :} \url{https://wiki.debian.org/fr/ListInstalledPackages} + +\subsection{Graphisme} +Logiciels utiles : +\begin{enumerate} +\item Dessin vectoriel : \textbf{Inkscape} +\item Édition basique d'images : \textbf{gthumb} +\end{enumerate} +\section{Développement Web} +\subsection{HTML} +\subsubsection{Centrer une image} +Centrer une image dépendra de son conteneur, je transcris ici la version simple (dans un paragraphe) et ma source détaille différents cas de figure.\\ +Le code dans le corps de la page : +\begin{lstlisting} +

+ centered image +

+\end{lstlisting} +Ce code appelle donc la classe \texttt{aligncenter} définie comme : +\begin{lstlisting} + +\end{lstlisting} +\textsc{Source :} \url{https://html-online.com/articles/image-align-center/} +\subsubsection{Faire un fond de page web qui change aléatoirement de couleur} +Ce code permet de changer toutes les 5 secondes la couleur du fond de la page. Il utilise 10 couleurs qui peuvent être modifiée, et on peut rajouter plus de couleurs en rajoutant des choix et en changeant à la bonne valeur la gamme de génération d'entier aléatoire.\\ +\begin{lstlisting} + + + + + + + + +\end{lstlisting} +\textsc{Source :} \url{https://www.htmlbestcodes.com/Set_background_color_randomly.htm} +\section{Internet} +\subsection{Flux RSS} +Les flux RSS permettent de suivre les publications de la majorité des sites internet sur une plateforme dédiée, il existe une multitude de services dédiés (Firefox intègre d'ailleurs un lecteur de flux).\\ +Un aspect pratique des flux RSS est que cela fonctionne pour s'abonner à des \textbf{Chaînes YouTube} et cela sans compte, certains lecteurs de flux peuvent même afficher la vidéo et donc vous n'avez pas à aller sur YouTube en soi.\\ +\textsc{S'abonner à une chaîne YouTube}\\ +URL : \verb+https://www.youtube.com/feeds/videos.xml?user=+\textbf{nom de user ou code trouvable dans l'URL sur Youtube}\\ + +\textsc{S'abonner à une Playlist}\\ +URL : \verb+https://www.youtube.com/feeds/videos.xml?playlist_id=+\textbf{nom de playlist ou id de l'URL} +\subsection{Multimédia} +\subsubsection{youtube-dl} +\noindent +Installation : +\begin{lstlisting} +sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl +sudo chmod a+rx /usr/local/bin/youtube-dl +sudo apt-get install ffmpeg +\end{lstlisting} + +Mettre à jour +\begin{lstlisting} +youtube-dl -U +\end{lstlisting} +Options : +\begin{lstlisting} +youtube-dl [OPTIONS] URL +-i, --ignore-errors +--playlist-start NUMBER +--playlist-end NUMBER +\end{lstlisting} +Metadata +\begin{lstlisting} +--write-description Write video description to a .description file +--write-info-json Write video metadata to a .info.json file +--write-annotations Write video annotations to a .annotations.xml file +--write-thumbnail Write thumbnail image to disk +--write-sub +--all-subs +\end{lstlisting} +Audio +\begin{lstlisting} +-x, --extract-audio Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe) +--add-metadata Write metadata to the video file +--metadata-from-title "%(artist)s - %(title)s" +\end{lstlisting} +\textsc{Documentation :} \url{https://github.com/rg3/youtube-dl/blob/master/README.md} +\subsubsection{Spotify pour Debian 9} +\begin{lstlisting} +sudo apt instal dirmngr +# 1. Add the Spotify repository signing keys to be able to verify downloaded packages +sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90 + +# 2. Add the Spotify repository +echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list + +# 3. Update list of available packages +sudo apt-get update + +# 4. Install Spotify +sudo apt-get install spotify-client +\end{lstlisting} +\subsubsection{Télécharger des playlists Spotify} +J'utilise : \url{https://github.com/SwapnilSoni1999/spotify-dl}\\ +\begin{lstlisting} +sudo npm install -g spotify-dl +\end{lstlisting} +Il peut être nécessaire d'installer \textbf{npm} avec un simple apt install.\\ +\section{Vie privée} +\subsection{Utiliser le VPN Riseup Black} +\begin{enumerate} +\item Créer un compte black.riseup.net +\item Installer \textbf{Bitmask} +\item Ouvrir Bitmask et se connecter +\end{enumerate} +\textbf{Installation de Bitmask pour Debian Stretch}\\ +\textsc{Documentation :} \url{https://dl.bitmask.net/linux/}\\ +Il y a besoin d'autoriser les stretch-backports pour installer le dernier paquet leap-archive-keyring\\ +\emph{Ne pas faire cette étape si stretch-backports est déjà activé} +\begin{lstlisting} +sudo echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list +sudo apt update && sudo apt install -t stretch-backports leap-archive-keyring +\end{lstlisting} +\begin{lstlisting} +sudo sh -c 'echo "deb http://deb.leap.se/client release stretch" > /etc/apt/sources.list.d/bitmask.list' +sudo apt update && sudo apt install bitmask +\end{lstlisting} +\textbf{\textsc{Résolution de problème}} +\subsection{Changer son adresse mac} +Installer macchanger : +\begin{lstlisting} +sudo apt-get install macchanger +\end{lstlisting} +On peut ensuite connaître son adresse MAC pour la noter : +\begin{lstlisting} +macchanger eth0 +ou +macchanger wlan0 +ou +macchanger wlp3s0 +\end{lstlisting} +Créer le fichier de configuration : +\begin{lstlisting} +sudo nano /etc/init/macchanger.conf + +# macchanger - set MAC addresses +# +# Set the MAC addresses for the network interfaces. + +description "change mac addresses" + +start on starting network-manager + +pre-start script + /usr/bin/macchanger -A wlan0 + /usr/bin/macchanger -A eth0 + /usr/bin/macchanger -A wmaster0 + /usr/bin/macchanger -A pan0 + #/usr/bin/logger wlan0 `/usr/bin/macchanger -s wlan0` + #/usr/bin/logger eth0 `/usr/bin/macchanger -s eth0` +end script +\end{lstlisting} +\textbf{Attention à rajouter le nom de votre interface si elle n'est ni wlan0 ni eth0 (c'était wlp3s0 pour moi).}\\ +Créer le fichier \textbf{/etc/network/if-post-down.d/random-mac} à partir de : +\begin{lstlisting} +#!/bin/sh + +MACCHANGER=/usr/bin/macchanger + +[ "$IFACE" != "lo" ] || exit 0 + +# Bring down interface (for wireless cards that are up to scan for networks), change MAC address to a random vendor address, bring up the interface +/sbin/ifconfig "$IFACE" down +macchanger -A "$IFACE" +\end{lstlisting} +Il reste à rendre le script exécutable et à redémarrer le network manager : +\begin{lstlisting} +sudo chmod +x /etc/network/if-post-down.d/random-mac +sudo service network-manager restart +\end{lstlisting} + +\emph{Sources} : \url{https://riseup.net/fr/security/network-security/mac-address} + +\section{Bugs divers} +\subsection{Bugs après une installation} +\subsubsection{Driver wifi - Debian x bcm43xx} +\noindent +\textbf{Pour connaître les composants connectés au bus PCI, on utilise la commande} \verb+lspci+\\ + +Version raccourcie pour les réseaux : +\begin{lstlisting} +~$ lspci -nn | grep Network +03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02) +\end{lstlisting} +\emph{Présentation ici d'un cas particulier mais la méthode peut être adaptée à d'autres modèles de drivers.}\\ +Ajouter \verb+contrib non-free+ à la ligne du fichier \verb+/etc/apt/sources.list+ puis mettre à jour les sources : +\begin{lstlisting} +# Debian 9 "stretch" +deb http://deb.debian.org/debian/ stretch main contrib non-free +apt-get update +\end{lstlisting} +Installer le bon firmware selon le driver\\ + +\noindent +BCM4306 revision 3, BCM4311, BCM4318, BCM4321 ou BCM4322 :\\ +\verb+firmware-b43-installer+\\ +BCM4312 LP-PHY :\\ +\verb+firmware-b43-installer+\\ +BCM4301 chip ou BCM4306 revision 2 :\\ +\verb+firmware-b43legacy-installer+\\ + +\noindent +\textsc{Source :} \url{https://wiki.debian.org/bcm43xx} +\subsection{Bugs dans le terminal} +\subsubsection{./configure say no compiler found} +\noindent Erreur +\begin{lstlisting} +configure: error: no acceptable C compiler found in $PATH +\end{lstlisting} +Solution +\begin{lstlisting} +sudo apt-get install build-essential +\end{lstlisting} +\textsc{Source :} \url{https://stackoverflow.com/questions/18076157/why-does-configure-say-no-c-compiler-found-when-gcc-is-installed} +\section{Divers} +\subsection{Wallabako - synchronisation wallabag et kobo} +Si vous avez une instance Wallabag et une liseuse Kobo, il existe un programme permettant de synchroniser les articles non-lus en les téléchargeant en ePUB sur votre liseuse.\\ + +La documentation et les fichiers sont ici : \url{https://gitlab.com/anarcat/wallabako} +\subsection{Contrôler son téléphone Android - scrpy} +Ce programme permet à un téléphone Android d'être entièrement contrôlé via l'ordinateur auquel il est branché. L'écran est simplement en miroir sur une fenêtre flottante et permet d'utiliser le clavier et la souris de l'ordinateur.\\ +Il est disponible sur les principales distributions : \url{https://github.com/Genymobile/scrcpy} +\subsection{Stylet, PC tablette, etc} +Pour installer les drivers du stylet dans Arch Linux (nécessite un redémarrage) : +\begin{lstlisting} +sudo pacman -S xf86-input-wacom +\end{lstlisting} +Pour activer la reconnaissance automatique de l'orientation et changer celle de l'écran et de la souris en même temps, installer les programmes suivants (disponibles en AUR) : +\begin{lstlisting} +iio-sensor-proxy-git screenrotator-git +\end{lstlisting} +Ressources : \url{https://wiki.archlinux.org/index.php/Tablet_PC#Stylus} +\subsubsection{Activer le clic droit du stylet} +D'abord, trouver l'id du stylet avec : +\begin{lstlisting} +xinput --list +\end{lstlisting} +\begin{lstlisting} +xsetwacom set button 2 3 +\end{lstlisting} +\textbf{Nécessite d'être relancé à chaque démarrage.} +\subsection{ASCII art generator} +Convertir une image en texte ASCII : \url{https://github.com/uvipen/ASCII-generator} +\section{Windows} +\noindent +Clé Windows : \verb+sudo cat /sys/firmware/acpi/tables/MSDM+ + +\section{Annexes - Scripts} +\textbf{Attention, ces scripts sont des scripts que j'ai réalisé il y a parfois longtemps et souvent pour une utilisation unique. Il sont donc non-optimisés et potentiellement cassés. Ils ont fonctionné pour moi et fonctionnent probablement encore mais je conseille de les utiliser avec prudence pour éviter toute perte de fichiers.} +\subsection{Trier des fichiers par année} +J'avais un gros dossier en vrac de vieilles photos, que je voulais garder mais en créant des dossiers par année pour les retrouver plus facilement. Il se trouve que l'on ne peut pas trouver dans les métadonnées la date de création mais seulement de dernière modification. J'ai reproduit ici ce script comme exemple de script simple et pour qu'il soit réutilisable. +\begin{lstlisting} +#!/bin/bash +echo "Chemin du dossier a trier :" +read chemin +cd $chemin +ls +#Teste chaque fichier du dossier chemin +for i in *; do + if [ -d "$i" ]; then + #-d est l'option pour savoir si un dossier existe, ici on teste si il est utile de l'analyser ou pas + echo "C'est un dossier" + else + annee=`stat -c '%y' "$i" | awk -F - '{print $1}'` + #Sort l'annee de derniere modification + #-c utilise le format precise plutot que celui par defaut. '%y' date de la derniere modification d'etat en format lisible. + #awk -F - precise que le separateur est le tiret et pas un espace + #'{print $1}' s'arrete d'afficher au premier separateur + #"$i" entre guillement pour eviter les erreurs avec les espaces dans les noms + + if [ -d $annee ]; then + mv "$i" $annee + else + mkdir $annee + mv "$i" $annee + fi + fi +done +\end{lstlisting} +\subsection{Post-Installation automatique} +Quand on veut réinstaller son ordinateur on sait généralement déjà de quoi on a besoin/envie. Et la force de GNU/Linux est de pouvoir réaliser de nombreuses étapes de post-installation automatiquement.\\ +Celui-ci permet surtout d'installer les quelques programmes non-installés par défaut mais utiles comme les paquets pour lire les fichiers d'un téléphone android. Il permet aussi d'installer les librairies qui permettent de lire les DVD.\\ +Si les lignes correspondantes sont décommentées, il permet d'installer VirtualBox.\\ +Enfin, il peut être utilisé pour copier les fichiers de configuration que vous avez déjà, sous réserve de quelques modifications/ajouts pour les lignes commençants par \texttt{cp -r}.\\ +\textbf{Il nécessite bien entendu d'être exécuté en root ou avec sudo}. +\begin{lstlisting} +#!/bin/sh +#echo "Dossier des fichiers de config" +#read dossier +#echo "nom utilisateur/trice" +#read id +echo "Verifier que sudo est bien installe, sinon le script ne pourra pas fonctionner [O/n]" +read answer +if [ $answer = "O" ]; then + sudo apt update + #Utiles et dependances + sudo apt install curl ffmpeg accountsservice git tree rsync apt-transport-https numix-gtk-theme numix-icon-theme + #Android + sudo apt install android-tools-adb android-tools-fastboot gvfs-backends jmtpfs libmtp-common + #Bureautique et multimedia + sudo apt install gthumb inkscape texmaker handbrake vlc + #Utilitaires + sudo apt install keepassx gnome-disk-utility + #Internet + sudo apt install thunderbird transmission pidgin + + #cp -r $dossier/.config /home/$id/ + #cp -r $dossier/.theme home/$id/ + #cp -r $dossier/.mozilla home/$id/ + + #Install libdvdcss (necessite apt-transport-https) + wget -O - https://download.videolan.org/pub/debian/videolan-apt.asc | sudo apt-key add - && echo "deb https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list + echo "deb-src https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list + + #Install youtube-dl + sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl + sudo chmod a+rx /usr/local/bin/youtube-dl + + #Install VirtualBox + #wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + #wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - + #echo "deb https://download.virtualbox.org/virtualbox/debian stretch contrib" |sudo tee -a /etc/apt/sources.list.d/virtualbox.list + + sudo apt update + #sudo apt-get install virtualbox-6.0 + sudo apt install libdvdcss2 + #echo "URL de telechargement VMware : https://my.vmware.com/fr/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0" + #echo "Pour installer, utiliser la commande sudo bash VMware-xxxx.bundle" + #Dependances VMware + #sudo apt install libx11-6 libx11-dev x-window-system-core x-window-system xorg-docs libxtst6 psmisc build-essential + echo "Installation finie" +else + exit +fi +\end{lstlisting} + +\subsection{Compression de PDF} +Ce script permet de compresser des PDF sans avoir à passer par un utilitaire tiers.\\ +\emph{Note : je n'ai plus aucun souvenirs de comment je l'ai créé, je l'ai juste testé avant de le reproduire ici et il fonctionne.} +\begin{lstlisting} +#!/bin/bash +echo "Nom et chemin du fichier a compresser, sans l'extension .pdf" +read chemin +echo "Nom et chemin du fichier de sortie, sans l'extension .pdf" +read sortie + +gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$sortie.pdf $chemin.pdf +\end{lstlisting} + +\subsection{Écrire soit-même des \texttt{fortunes} en semi-automatique} +Les \texttt{fortunes} sont les fichiers permettant d'afficher des citations aléatoires dans un terminal ou dans certains widgets. Il en existe de nombreuses versions mais on peut aussi les créer nous-même, comme c'est un peu fastidieux, j'avais fait un script pour l'occasion. \textbf{Attention il nécessite d'être exécuté en \texttt{root} car il écrit des fichiers dans des répertoires protégés en écriture}.\\ +\begin{lstlisting} +#!/bin/bash +#Ce script a pour but de faciliter la mise a jour des fichiers fortune. +echo -e "\033[1;45;41m Ce script necessite les droits d'administrateur pour fonctionner \033[0m" +echo -e "\033[1;44m Bienvenue dans ce script de mise a jour de fortune \033[0m" +#Creation d'un fichier texte avec la liste des fichiers fortune (1 par ligne) +cd /usr/share/games/fortunes +ls -I "*.dat" -I "*.u8" +echo -e "\033[1;44mTaper le nom du fichier a modifier, ou" "\033[1;42mNouveau\033[0m""\033[1;44m pour un nouveau fichier\033[0m" +#cree la variable fichier en lui assignant la valeur tapee +read num +if [ $num = Nouveau ]; then + echo -e "\033[1;42mEntrer un nom pour le nouveau fichier\033[0m" + read fichier +else + for i in * + do + if [ $num = $i ]; then + fichier=$i + fi + done +fi + +if [ -z "$fichier" ]; then + echo "Le fichier n'existe pas" +else + echo -e "\033[1;45;41mModification avec nano ou avec le script ?\033[0m" + echo -e "\033[1;45;31mNano : 1\033[0m" + echo -e "\033[1;45;34mScript : 2\033[0m" + read choix + if [ $choix = 1 ]; then + nano /usr/share/games/fortunes/$fichier + echo -e "\033[1;45;41mFin de la modification\033[0m" + elif [ $choix = 2 ]; then + #initialise la variable rep a 0 pour la boucle while + rep=o + while [ $rep = o ] + #boucle while : tant que la variable rep reste a "o" on peut continuer a rajouter des lignes. + #on demande donc a chaque insertion si l'on continue ou pas, si une autre valeur que o est renseignee, le script sort de la boucle while + do + echo "Entrer la citation a ajouter et appuyer sur [ENTREE]" + #assigne la variable ligne a l'insertion au clavier + read ligne + #ajoute apres la derniere ligne du fichier la variable ligne + echo $ligne >> /usr/share/games/fortunes/$fichier + #rajoute une nouvelle ligne avec un % + echo % >> /usr/share/games/fortunes/$fichier + echo "Continuer ? [o/n]" + #enregistre la reponse pour continuer dans rep + read rep + done + fi + #mets a jour les autres fichiers fortune + strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.u8 + strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.dat +fi + +exit 0; +\end{lstlisting} +\subsection{Convertir une archive Youtube en dossier de favoris} +Ce projet répondait à un besoin spécifique de récupérer mes playlists Youtube avant de supprimer mon compte. Youtube permet de récupérer une archive de toutes ses données, mais les donne sous forme de fichier \texttt{.json} qui est complètement inutilisable tel quel.\\ +Mon idée était de récupérer toutes les données et d'en faire un \texttt{.html} exploitable par firefox comme une sauvegarde de favoris et donc en faire un dossier avec par exemple toutes mes vidéos "À voir"ou mes playlists.\\ +Ce script utilise des fichiers annexes \texttt{header.txt} et \texttt{prog.sed} pour fonctionner et écrit plusieurs fichiers dans le dossier \texttt{tmp}. Il faut les supprimer à chaque nouvelle utilisation. Pour cela vous pouvez utiliser le script \texttt{rm.sh}.\\ +\begin{lstlisting} +#!/bin/bash +#Conversion .json to id and title +echo -e "name of .json :" +read path +#.json file gives the video id under "videoId" : "example", +#.json file gives the video title under "title" : "example" +#For each entry videoId is given twice +#Remove every lines without "videoId" : " and writes the results in a temp file +sed '''/"videoId" : "/!d''' $path &>> /tmp/tmpIds +#Same thing with titles +sed '''/"title" : "/!d''' $path &>> /tmp/Titles +#There is two lines for each Id but one ends with ", so it removes all those lines +sed '''/",/d''' /tmp/tmpIds &>> /tmp/Ids +#We replace "videoId" by the HTML +sed '''s/ "videoId" : "/\\}" &>> /tmp/Titles2 +done < /tmp/Titles +sed '''s/"title" : "/>/g''' /tmp/Titles2 &>> /tmp/Titles3 + +paste -d "" /tmp/Ids2 /tmp/Titles3 &>> links.html + +sed -f prog.sed links.html &>> linksdone.html + +cat header.txt linksdone.html >autobookmarks.html + +echo -e \<\/DL\>\ &>> autobookmarks.html +echo -e \<\/DL\>\ &>> autobookmarks.html +cp autobookmarks $path.html +\end{lstlisting} +\subsubsection{prog.sed} +\begin{lstlisting} +i\ \\ +a\ \<\/DL\>\ +\end{lstlisting} +\subsubsection{header.txt} +\begin{lstlisting} + + + +Bookmarks +

Bookmarks

+\end{lstlisting} +\subsubsection{rm.sh} +\begin{lstlisting} +#!/bin/bash +rm /tmp/Titles +rm /tmp/Titles2 +rm /tmp/Titles3 +rm /tmp/Ids +rm /tmp/Ids2 +rm /tmp/tmpIds +rm autobookmarks.html +rm links.html +rm linksdone.html +rm linksdone2.html +rm linkstmp +\end{lstlisting} +\end{document} diff --git a/recueil.toc b/recueil.toc new file mode 100644 index 0000000..a106025 --- /dev/null +++ b/recueil.toc @@ -0,0 +1,76 @@ +\babel@toc {french}{} +\contentsline {section}{\numberline {1}Commandes usuelles}{4}{section.1}% +\contentsline {section}{\numberline {2}Installations}{4}{section.2}% +\contentsline {subsection}{\numberline {2.1}Syst\IeC {\`e}me}{4}{subsection.2.1}% +\contentsline {subsubsection}{\numberline {2.1.1}Cr\IeC {\'e}er une cl\IeC {\'e} USB Bootable}{4}{subsubsection.2.1.1}% +\contentsline {subsubsection}{\numberline {2.1.2}Cr\IeC {\'e}er une cl\IeC {\'e} USB live avec plusieurs ISOs}{5}{subsubsection.2.1.2}% +\contentsline {subsubsection}{\numberline {2.1.3}V\IeC {\'e}rification d'ISO}{5}{subsubsection.2.1.3}% +\contentsline {subsubsection}{\numberline {2.1.4}Retirer le bip du clavier}{5}{subsubsection.2.1.4}% +\contentsline {subsubsection}{\numberline {2.1.5}Faire appara\IeC {\^\i }tre GRUB au d\IeC {\'e}marrage}{5}{subsubsection.2.1.5}% +\contentsline {subsection}{\numberline {2.2}Terminal}{6}{subsection.2.2}% +\contentsline {subsubsection}{\numberline {2.2.1}Changer de shell - Zsh}{6}{subsubsection.2.2.1}% +\contentsline {subsubsection}{\numberline {2.2.2}Ajouter des plugins facilement dans Vim}{6}{subsubsection.2.2.2}% +\contentsline {subsubsection}{\numberline {2.2.3}Colorer les codes couleurs html/rgb etc}{6}{subsubsection.2.2.3}% +\contentsline {subsection}{\numberline {2.3}Disques chiffr\IeC {\'e}s}{6}{subsection.2.3}% +\contentsline {subsubsection}{\numberline {2.3.1}Monter un disque chiffr\IeC {\'e} en ligne de commande}{6}{subsubsection.2.3.1}% +\contentsline {subsubsection}{\numberline {2.3.2}Monter un disque chiffr\IeC {\'e} automatiquement au d\IeC {\'e}marrage}{7}{subsubsection.2.3.2}% +\contentsline {subsection}{\numberline {2.4}Customisation, param\IeC {\'e}trage}{7}{subsection.2.4}% +\contentsline {subsubsection}{\numberline {2.4.1}Installer une police au format fichier .ttf}{7}{subsubsection.2.4.1}% +\contentsline {subsubsection}{\numberline {2.4.2}Changer l'image de grub (\IeC {\'e}cran de d\IeC {\'e}marrage)}{7}{subsubsection.2.4.2}% +\contentsline {subsubsection}{\numberline {2.4.3}Utiliser le pav\IeC {\'e} num\IeC {\'e}rique comme souris}{8}{subsubsection.2.4.3}% +\contentsline {subsubsection}{\numberline {2.4.4}Luminosit\IeC {\'e}}{9}{subsubsection.2.4.4}% +\contentsline {subsubsection}{\numberline {2.4.5}Changement image de profil}{10}{subsubsection.2.4.5}% +\contentsline {subsection}{\numberline {2.5}Chercher et supprimer des fichiers en doublon}{10}{subsection.2.5}% +\contentsline {subsection}{\numberline {2.6}Compresser des images en ligne de commande}{10}{subsection.2.6}% +\contentsline {section}{\numberline {3}Manjaro - Arch Linux}{10}{section.3}% +\contentsline {subsection}{\numberline {3.1}Ressources diverses}{10}{subsection.3.1}% +\contentsline {section}{\numberline {4}Awesome WM et la customisation avanc\IeC {\'e}e}{10}{section.4}% +\contentsline {subsection}{\numberline {4.1}O\IeC {\`u} sont les fichiers ?}{11}{subsection.4.1}% +\contentsline {subsection}{\numberline {4.2}D\IeC {\'e}pendances}{11}{subsection.4.2}% +\contentsline {section}{\numberline {5}Yunohost, Brique Internet et autres serveur-like tips}{12}{section.5}% +\contentsline {subsection}{\numberline {5.1}Brique Internet sur cl\IeC {\'e} 4G}{12}{subsection.5.1}% +\contentsline {subsubsection}{\numberline {5.1.1}Installation, post-installation}{12}{subsubsection.5.1.1}% +\contentsline {subsubsection}{\numberline {5.1.2}Monter la cl\IeC {\'e} 4G au d\IeC {\'e}marrage comme interface r\IeC {\'e}seau}{12}{subsubsection.5.1.2}% +\contentsline {subsection}{\numberline {5.2}Utilisation de deux serveurs avec un domaine principal et un sous-domaine}{13}{subsection.5.2}% +\contentsline {subsubsection}{\numberline {5.2.1}Enlever le bouton Yunohost permanent dans les applications}{13}{subsubsection.5.2.1}% +\contentsline {section}{\numberline {6}Sauvegardes}{14}{section.6}% +\contentsline {subsection}{\numberline {6.1}Android - Utilisation de adb}{14}{subsection.6.1}% +\contentsline {subsection}{\numberline {6.2}GNU-Linux}{14}{subsection.6.2}% +\contentsline {subsubsection}{\numberline {6.2.1}Le paquet rsync}{14}{subsubsection.6.2.1}% +\contentsline {subsubsection}{\numberline {6.2.2}Sauvegarde compl\IeC {\`e}te de Debian avec un script}{15}{subsubsection.6.2.2}% +\contentsline {section}{\numberline {7}Logiciels}{15}{section.7}% +\contentsline {subsection}{\numberline {7.1}Graphisme}{15}{subsection.7.1}% +\contentsline {section}{\numberline {8}D\IeC {\'e}veloppement Web}{15}{section.8}% +\contentsline {subsection}{\numberline {8.1}HTML}{15}{subsection.8.1}% +\contentsline {subsubsection}{\numberline {8.1.1}Centrer une image}{15}{subsubsection.8.1.1}% +\contentsline {subsubsection}{\numberline {8.1.2}Faire un fond de page web qui change al\IeC {\'e}atoirement de couleur}{16}{subsubsection.8.1.2}% +\contentsline {section}{\numberline {9}Internet}{16}{section.9}% +\contentsline {subsection}{\numberline {9.1}Flux RSS}{16}{subsection.9.1}% +\contentsline {subsection}{\numberline {9.2}Multim\IeC {\'e}dia}{17}{subsection.9.2}% +\contentsline {subsubsection}{\numberline {9.2.1}youtube-dl}{17}{subsubsection.9.2.1}% +\contentsline {subsubsection}{\numberline {9.2.2}Spotify pour Debian 9}{17}{subsubsection.9.2.2}% +\contentsline {subsubsection}{\numberline {9.2.3}T\IeC {\'e}l\IeC {\'e}charger des playlists Spotify}{17}{subsubsection.9.2.3}% +\contentsline {section}{\numberline {10}Vie priv\IeC {\'e}e}{18}{section.10}% +\contentsline {subsection}{\numberline {10.1}Utiliser le VPN Riseup Black}{18}{subsection.10.1}% +\contentsline {subsection}{\numberline {10.2}Changer son adresse mac}{18}{subsection.10.2}% +\contentsline {section}{\numberline {11}Bugs divers}{19}{section.11}% +\contentsline {subsection}{\numberline {11.1}Bugs apr\IeC {\`e}s une installation}{19}{subsection.11.1}% +\contentsline {subsubsection}{\numberline {11.1.1}Driver wifi - Debian x bcm43xx}{19}{subsubsection.11.1.1}% +\contentsline {subsection}{\numberline {11.2}Bugs dans le terminal}{19}{subsection.11.2}% +\contentsline {subsubsection}{\numberline {11.2.1}./configure say no compiler found}{19}{subsubsection.11.2.1}% +\contentsline {section}{\numberline {12}Divers}{20}{section.12}% +\contentsline {subsection}{\numberline {12.1}Wallabako - synchronisation wallabag et kobo}{20}{subsection.12.1}% +\contentsline {subsection}{\numberline {12.2}Contr\IeC {\^o}ler son t\IeC {\'e}l\IeC {\'e}phone Android - scrpy}{20}{subsection.12.2}% +\contentsline {subsection}{\numberline {12.3}Stylet, PC tablette, etc}{20}{subsection.12.3}% +\contentsline {subsubsection}{\numberline {12.3.1}Activer le clic droit du stylet}{20}{subsubsection.12.3.1}% +\contentsline {subsection}{\numberline {12.4}ASCII art generator}{20}{subsection.12.4}% +\contentsline {section}{\numberline {13}Windows}{20}{section.13}% +\contentsline {section}{\numberline {14}Annexes - Scripts}{20}{section.14}% +\contentsline {subsection}{\numberline {14.1}Trier des fichiers par ann\IeC {\'e}e}{20}{subsection.14.1}% +\contentsline {subsection}{\numberline {14.2}Post-Installation automatique}{21}{subsection.14.2}% +\contentsline {subsection}{\numberline {14.3}Compression de PDF}{22}{subsection.14.3}% +\contentsline {subsection}{\numberline {14.4}\IeC {\'E}crire soit-m\IeC {\^e}me des \texttt {fortunes} en semi-automatique}{22}{subsection.14.4}% +\contentsline {subsection}{\numberline {14.5}Convertir une archive Youtube en dossier de favoris}{23}{subsection.14.5}% +\contentsline {subsubsection}{\numberline {14.5.1}prog.sed}{24}{subsubsection.14.5.1}% +\contentsline {subsubsection}{\numberline {14.5.2}header.txt}{24}{subsubsection.14.5.2}% +\contentsline {subsubsection}{\numberline {14.5.3}rm.sh}{24}{subsubsection.14.5.3}% diff --git a/recueil.xml b/recueil.xml new file mode 100644 index 0000000..376fe25 --- /dev/null +++ b/recueil.xml @@ -0,0 +1,2101 @@ + + + + + + + + + + + + + + + + + + + + + + + + Compilation de commandes utiles régulièrement, ou pas<break/> + + +

Ce document est réalisé à partir de mes expériences diverses sur GNU/Linux, principalement Debian et depuis peu avec Awesome WM.Beaucoup de documentation existe sur le sujet, je ne vais donc pas réécrire ce qui existe déjà en mieux, mais plutôt partager des informations spécifiques qui m’ont demandé un peu de temps de recherche. +

+
+ + + Table des matières + + +
+ + 1 + section 1 + 1 + §1 + + <tag close=" ">1</tag>Commandes usuelles + +

Si l’on utilise pas quotidiennement son terminal, on se retrouve régulièrement à avoir à rechercher des commandes usuelles sur internet car on les a oubliées.L’objectif de cette page est donc de regrouper quelques commandes qui reviennent assez souvent.

+
+ +

Pour une vraie documentation/présentation de ces commandes, je conseille la très bonne page : https://linuxpedia.fr/doku.php/commande/commande.

+
+ + Pipe ou envoyer le résultat d’une commande dans une autre + +

Le signe | permet de renvoyer le résultat d’une commande dans la suivante au lieu de l’afficher dans le terminal :

+ + commande1 | commande2 + +
+ +

Le résultat de la commande1 est utilisé comme argument de commande2.

+
+
+ + Cat ou afficher le contenu d’un fichier + +

La commande cat permet d’afficher le contenu d’un fichier grâce à :

+ + cat fichier.txt + +
+
+ + Télécharger une page internet + +

La commande curl exemple.com affichera dans votre terminal le contenu de la page demandée.

+
+ +

La commande wget exemple.com téléchargera ce contenu dans un fichier html. Il est possible de l’utiliser récursivement pour télécharger tout un site.

+
+
+ + Ajouter du contenu dans un fichier + +

Pour ajouter du contenu dans un fichier sans avoir à l’ouvrir, on peut utiliser >>.

+
+ +

Ainsi echo nouvelle ligne >> fichier.txt ajoutera "nouvelle ligne" dans fichier.txt.

+
+ +

On peut aussi l’utiliser avec une commande, par exemple :

+ + curl exemple.com >> fichier.txt + +

permettra d’ajouter le contenu de exemple.com dans fichier.txt, et crée le fichier si il n’existe pas.

+
+
+ + Trouver des caractères ou des fichiers + +

Pour ces tâches on utilisera les commandes grep et find, la première pour trouver des caractères/mots/lignes dans un fichier et la deuxième pour trouver des fichiers dans un répertoire selon leur nom ou extension par exemple.

+
+
+
+
+ + 2 + section 2 + 2 + §2 + + <tag close=" ">2</tag>Installations + + + 2.1 + subsection 2.1 + 2.1 + §2.1 + + <tag close=" ">2.1</tag>Système + + + 2.1.1 + subsubsection 2.1.1 + 2.1.1 + §2.1.1 + + <tag close=" ">2.1.1</tag>Créer une clé USB Bootable + +

Attention, cette commande nécessite de savoir précisément l’identification de votre clé usb, sinon vous risquez de perdre toutes vos données en formattant votre disque dur.Pour plus d’informations : https://doc.ubuntu-fr.org/live_usb#en_ligne_de_commandes

+ + sudo dd bs=4M status=progress if=votre.iso of=/dev/sdX && sync + +
+
+ + + 2.1.2 + subsubsection 2.1.2 + 2.1.2 + §2.1.2 + + <tag close=" ">2.1.2</tag>Créer une clé USB live avec plusieurs ISOs + +

Il est également possible d’utiliser plusieurs images dans une seule clé. Pour cela on peut installer multibootusb (http://multibootusb.org/page_download/). Pour l’installer :

+ + sudo dpkg -i python3-multibootusb_9.2.0-1_all.deb + +

Si vous rencontrez des problèmes de dépendances non satisfaites, relevez les noms de ces paquets, installez les puis répétez la commande ci-dessus.Exécutez ensuite le programme avec sudo multibootusb.

+
+
+ + + 2.1.3 + subsubsection 2.1.3 + 2.1.3 + §2.1.3 + + <tag close=" ">2.1.3</tag>Vérification d’ISO + +

La vérification d’iso consiste à vérifier l’authenticité et l’intégrité des images téléchargées. La méthode exacte sera spécifique à chaque .iso car les fichiers et signatures ne seront pas la même, cette partie présentera donc des commandes usuelles mais ne permet pas de réaliser toutes les étapes sans regarder la documentation spécifique à la vérification souhaitée.Tentative d’explication : l’authenticité permet de vérifier que le fichier téléchargé a bien été créé par la personne qui dit l’avoir signée. L’intégrité permet de vérifier que le fichier n’a pas été modifié par une personne tiers. Ces méthodes ne peut pas prouver que le fichier n’est pas malicieux, on doit donc choisir de nous-même si l’on fait confiance aux personnes qui ont créé ces fichiers. +Tout d’abord, télécharger dans le même fichier le .iso (ou autre format, mais le fichier de l’image logiciel) et les fichiers de signature SHA256sum.txt et SHA256sum.txt.gpg (de même, les extensions de fichier peuvent varier).Il faut ensuite générer le SHA256sum de l’iso téléchargé afin de le comparer au fichier téléchargé. +Générer le SHA256sum :

+ + sha256sum -b *.iso + +

Il faut ensuite comparer la signature obtenue à celle contenue dans SHA256sum.txt. Une méthode permet de le faire à partir d’une ligne de commande :

+ + sha256sum --ignore-missing -c sha256sum.txt + +

Vérification d’authenticité

+
+ +

Pour vérifier l’authenticité de SHA256sum.txt il faut vérifier la signature de SHA256sum.txt.gpg.Il faut tout d’abord importer la clé de signature du système d’exploitation, pour Debian :

+ + gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF + gpg --verify sha256sum.txt.gpg sha256sum.txt + +
+
+ + + 2.1.4 + subsubsection 2.1.4 + 2.1.4 + §2.1.4 + + <tag close=" ">2.1.4</tag>Retirer le bip du clavier + +

Il arrive qu’après une nouvelle installation le clavier bip en cas d’entrée vide. +Pour l’enlever :

+ + echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf + +

Le bruit aura disparu après un redémarrage.

+
+
+ + + 2.1.5 + subsubsection 2.1.5 + 2.1.5 + §2.1.5 + + <tag close=" ">2.1.5</tag>Faire apparaître GRUB au démarrage + +

Après une nouvelle installation de Manjaro, je n’avais pas accès à GRUB au démarrage et je ne pouvais pas changer de noyau. Cela était dû au fait que GRUB était configuré comme caché. On peut le modifier dans son fichier de configuration : /etc/default/grub. +Il suffit de changer

+ + GRUB_TIMEOUT_STYLE="hidden" + +

en

+ + GRUB_TIMEOUT_STYLE="menu" + +

Il est aussi possible de changer le temps d’affichage de GRUB avec la variable GRUB_TIMEOUT.Pour que les changements soient pris en compte :

+ + sudo update-grub + +
+
+
+ + + 2.2 + subsection 2.2 + 2.2 + §2.2 + + <tag close=" ">2.2</tag>Terminal + + + 2.2.1 + subsubsection 2.2.1 + 2.2.1 + §2.2.1 + + <tag close=" ">2.2.1</tag>Changer de shell - Zsh + +

Le shell par défaut des principales distributions Linux est bash, un autre shell populaire offrant de nombreuses fonctionnalités est zsh et son extension populaire oh-my-zsh. +Pour l’utiliser il faut d’abord l’installer :

+ + sudo apt install zsh + +

pour Arch Linux ou Manjaro :

+ + sudo pacman -S zsh + +

On peut vérifier qu’il est bien installé avec :

+ + zsh --version + +

Pour changer de shell par défaut et pour passer à zsh : +

+ + chsh -s $(which zsh) + +

Il faut ensuite se déconnecter pour mettre à jour le changement.

+
+ +

Installer oh-my-zsh

+ + sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + +

Wiki : https://github.com/ohmyzsh/ohmyzsh/wiki

+
+ +

Il est maintenant possible de configurer à nos souhaits ce shell via le fichier .zshrc.

+
+ +

Deux vidéos intéressantes pour comprendre les fonctionnalités disponibles et comment les utiliser :https://www.youtube.com/watch?v=4KBuPCeF9Gchttps://www.youtube.com/watch?v=soAwUq2cQHQ

+
+
+ + + 2.2.2 + subsubsection 2.2.2 + 2.2.2 + §2.2.2 + + <tag close=" ">2.2.2</tag>Ajouter des plugins facilement dans Vim + +

https://github.com/VundleVim/Vundle.vim

+
+
+ + + 2.2.3 + subsubsection 2.2.3 + 2.2.3 + §2.2.3 + + <tag close=" ">2.2.3</tag>Colorer les codes couleurs html/rgb etc + +

Un plugin pour surligner de la couleur correspondante les codes couleurs dans Vim :https://github.com/gko/vim-coloresque

+
+
+
+ + + 2.3 + subsection 2.3 + 2.3 + §2.3 + + <tag close=" ">2.3</tag>Disques chiffrés + + + 2.3.1 + subsubsection 2.3.1 + 2.3.1 + §2.3.1 + + <tag close=" ">2.3.1</tag>Monter un disque chiffré en ligne de commande + +

Monter un disque chiffré ne requiert pas les mêmes commandes que pour un disque normal, mais c’est finalement assez simple.Tout d’abord vous devez bien entendu avoir cryptsetup d’installé sur votre système.

+ + sudo apt install cryptsetup + +

Ensuite on aura ces opérations à réaliser :

+ + sudo cryptsetup luksOpen /dev/sdc1 cryptdrive + sudo mkdir /media/MONDISQUE + sudo mount /dev/mapper/cryptdrive /media/MONDISQUE/ + +

Le /dev/sdc1 donne l’information de la partition que vous voulez monter, et cryptdrive est le mapper que vous nommez pour que le système reconnaisse le disque.La deuxième ligne est optionnelle si l’emplacement de montage souhaité existe déjà.La dernière commande est la commande habituelle de montage : identification du disque à monter et l’emplacement où le monter.

+
+
+ + + 2.3.2 + subsubsection 2.3.2 + 2.3.2 + §2.3.2 + + <tag close=" ">2.3.2</tag>Monter un disque chiffré automatiquement au démarrage + +

Il est possible de monter automatique le disque chiffré sans avoir à renseigner la phrase de déchiffrement si vous configurez un fichier "clé" et l’utilisez au démarrage.Mon "tuto" est seulement un rappel des commandes nécessaires, sans grandes explications car tout est bien détaillé dans la source que j’ai utilisé. Si cela ne fonctionne pas parfaitement il y a plus de détails dans l’article source. +Source : https://blog.tinned-software.net/automount-a-luks-encrypted-volume-on-system-start/On commence par créer un fichier disksecretkey rempli aléatoirement qui servira à contenir la clé de déchiffrement. Il faudra peut être créer le dossier luks-keys si il n’existe pas.

+ + dd if=/dev/urandom of=/etc/luks-keys/disksecretkey bs=512 count=8 + +

On peut ensuite lier ce fichier à notre disque et sa phrase de déchiffrement :

+ + sudo cryptsetup -v luksAddKey /dev/sdb1 /etc/luks-keys/disksecretkey + +

Cela vous demandera la phrase de déchiffrement de votre disque (attention à bien renseigner votre partition à la place de sdb1).Ensuite on récupère le UUID du disque pour l’utiliser dans les règles au démarrage :

+ + sudo cryptsetup luksDump /dev/sdb1 | grep "UUID" + +

On ajoute une règle dans le fichier /etc/crypttab :

+ + sdb1-crypt UUID=2a2375bf-2262-413c-a6a8-fbeb14659c85 /etc/luks-keys/disksecretkey luks + +

Enfin, pour qu’il soit monté au démarrage on ajoute une ligne au fichier dédié : /etc/fstab

+ + /dev/mapper/sdb1-crypt /media/gerhard/Daten ext4    defaults   0       2 + +

Pour des règles plus spécifiques consultez la page dédiée à fstab : http://man7.org/linux/man-pages/man5/fstab.5.html

+
+
+
+ + + 2.4 + subsection 2.4 + 2.4 + §2.4 + + <tag close=" ">2.4</tag>Customisation, paramétrage + + + 2.4.1 + subsubsection 2.4.1 + 2.4.1 + §2.4.1 + + <tag close=" ">2.4.1</tag>Installer une police au format fichier .ttf + +

Pour l’installer seulement pour l’utilisateur·ice :

+ + cp exemple.ttf .fonts + +

Pour l’installer sur tout le système :

+ + cp exemple.ttf /usr/share/fonts + +
+
+ + + 2.4.2 + subsubsection 2.4.2 + 2.4.2 + §2.4.2 + + <tag close=" ">2.4.2</tag>Changer l’image de grub (écran de démarrage) + +

Il est possible de changer l’image d’arrière plan de GRUB, l’utilitaire de démarrage de Debian (et d’autres distribution) qui permet de choisir quelle distribution lancer.L’image utilisée doit cependant respecter un format spécifique, elles peuvent être png, jpg/jpeg ou tga mais avec ces caractéristiques :

+ + + + 1. + item 1 + 1 + item 1 + + +

les images doivent être 8-bits (256 couleurs)

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

les images doivent être non-indexées, RGB

+
+
+
+

Des convertisseurs d’images pour les transformer sous ces caractéristiques sont trouvables sur internet.Par défaut, si le paquet desktop-base est installé les images utilisables sont trouvables dans le répertoire /usr/share/images/desktop-base/.GRUB va chercher l’image à afficher selon un ordre particulier présenté ici par ordre de priorité :

+ + + + 1. + item 1 + 1 + item 1 + + +

la ligne GRUB_BACKGROUND dans /etc/default/grub

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

la première image trouvée dans /boot/grub/

+
+
+ + + 3. + item 3 + 3 + item 3 + + +

l’image spécifiée dans /usr/share/desktop-base/grub_background.sh

+
+
+ + + 4. + item 4 + 4 + item 4 + + +

le fichier listé à la ligne WALLPAPER dans /etc/grub.d/05_debian_theme

+
+
+
+

Le plus simple étant donc de modifier ou créer la ligne GRUB_BACKGROUND= dans +/etc/default/grub en ajoutant le chemin du fichier derrière le =. pour modifier ce fichier, il est nécessaire d’avoir les droits administrateur. +Pour avoir la modification effective, il faut utiliser la commande :update-grubChanger les couleurs du texte :On peut également changer les couleurs du texte grâce aux 3 options suivantes :

+ + + + 1. + item 1 + 1 + item 1 + + +

menu_color_highlight : la couleur de l’entrée menu surlignée et son fond à l’intérieur du menu.

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

menu_color_normal : la couleur de l’entrée menu non-sélectionnée et son fond

+
+
+ + + 3. + item 3 + 3 + item 3 + + +

color_normal : la couleur du texte et son fond à l’extérieur du menu. +

+
+
+
+

La syntaxe à utiliser est la suivante : +menu_color_highlight=fg-color/bg-color +Et la liste des couleurs supportées est : black bluebrowncyandark-graygreenlight-cyanlight-bluelight-greenlight-graylight-magentalight-redmagentaredwhiteyellowPour changer les couleurs, il faut ensuite ouvrir /etc/grub.d/05_debian_theme et trouver la ligne :

+ + if [ -z "${2}" ] && [ -z "${3}" ]; then +                 echo "  true" + fi + +

Et la remplacer par :

+ + if [ -z "${2}" ] && [ -z "${3}" ]; then +     # echo "  true" +     echo "    set color_highlight=red/green" +     echo "    set color_normal=light-cyan/black" + fi + +

Ne pas changer le "black" dans color_normal sinon l’image ne sera pas transparente à l’endroit où le menu est affiché.Pour avoir la modification effective et la visualiser, il faut utiliser la commande suivante et redémarrerupdate-grub

+
+ +

Il est également possible d’expérimenter en "live" au démarrage en arrêtant le compte à rebours (en tapant n’importe quelle touche) et en tapant "C" pour entrer dans la ligne de commande GRUB.Vous pouvez alors expérimenter à votre souhait :

+ + grub> set color_highlight=red/green + grub> set color_normal=light-cyan/black + +

Pressez ESC pour voir les modifications et recommencez si cela ne vous convient pas.

+
+
+ + + 2.4.3 + subsubsection 2.4.3 + 2.4.3 + §2.4.3 + + <tag close=" ">2.4.3</tag>Utiliser le pavé numérique comme souris + +

Il est possible d’utiliser le pavé numérique comme une souris ! Pour l’activer de manière non permanente il suffit d’utiliser :

+ + setxkbmap -option keypad:pointerkeys + +

Ensuite pour l’utiliser il faut utiliser la combinaison Shift+NumLock et le pavé numérique fonctionnera comme une souris avec des raccourcis spécifiques.Pour se déplacer :

+ + + + + item  + 1st item + + +

7, 8, 9 pour un déplacement vers le haut

+
+
+ + + + item  + 2nd item + + +

4, 6 pour gauche et droite

+
+
+ + + + item  + 3rd item + + +

1, 2, 3 pour le bas

+
+
+
+

Pour cliquer c’est légèrement compliqué :

+ + + + + item  + 1st item + + +

/ sélectionne le clic gauche (appuyer deux fois pour un double clic, trois fois pour un triple)

+
+
+ + + + item  + 2nd item + + +

* sélectionne le clic du milieu

+
+
+ + + + item  + 3rd item + + +

- sélectionne le clic droit

+
+
+
+

Une fois que le clic est sélectionné il est seulement actif et il faut donc utiliser une autre touche pour l’utiliser :

+ + + + + item  + 1st item + + +

5 ou + pour réellement cliquer

+
+
+ + + + item  + 2nd item + + +

0 / ins pour cliquer et garder actif (pour faire glisser)

+
+
+ + + + item  + 3rd item + + +

. / Del pour libérer

+
+
+
+

Pour garder cette configuration au redémarrage il faut ajouter l’option dans le fichier de configuration, ou le créer si besoin :/etc/X11/xorg.conf.d/00-keyboard.conf

+ + Section "InputClass" +         Identifier "system-keyboard" +         MatchIsKeyboard "on" +         Option "XkbOptions" "keypad:pointerkeys" + EndSection + +

Source : https://linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg

+
+
+ + + 2.4.4 + subsubsection 2.4.4 + 2.4.4 + §2.4.4 + + <tag close=" ">2.4.4</tag>Luminosité + +

Pour régler la luminosité en ligne de commande, on utilise xrandr.Tout d’abord on cherche l’écran que l’on veut paramétrer :

+ + ~$ xrandr + Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 + LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) + +

On voit donc que l’écran connecté est LVDS-1. Pour le baisser à 50% de luminosité :

+ + xrandr --output LVDS-1 --brightness 0.5 + +

Pour toute autre valeur on ajuste le nombre renseigné (1 pour avoir 100%, 0.1 pour 10% etc).

+
+ +

J’ai trouvé une manière de changer la luminosité après quelques recherches, c’est probablement une manière beaucoup trop compliquée de faire mais c’est pratique pour apprendre les commandes et ça fonctionne.J’ai fait trois scripts différents, un pour augmenter de 10% la luminosité, un pour la baisser et un dernier pour juste afficher la luminosité actuelle en pourcentage.Ces scripts sont composés de seulement une ligne mais avec plusieurs commandes dedans. Ainsi, celle-ci permet de baisser la luminosité de 10% :

+ + xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)-.1" | bc) + +

On retrouve la commande de départ avec le --output avec le nom de votre écran puis --brightness qui prend la valeur en décimale qu’on veut pour l’écran (1.0 pour 100% et 0.1 pour 10%). On cherche d’abord la luminosité actuelle.

+ + xrandr --current --verbose|grep -i Brightness + +

Donne quelque chose comme :

+ + Brightness: 1. + +

On utilise alors :

+ + | sed s/"Brightness: "//g + +

Le signe | permet d’envoyer le résultat de la commande à gauche dans la commande à droite.Cela permet de récupérer seulement la valeur décimale. +Puis on utilise -.1 pour enlever 10% à la valeur trouvée.

+
+ +

En bash on ne peut pas faire du calcul en décimal puisque les valeurs sont considérés comme des chaînes de caractères. Il faut alors utiliser bc : http://jlbicquelet.free.fr/unix/bc.php.bc prend comme argument la valeur de la parenthèse (à l’aide du signe $) et fait le calcul, qui nous rend donc la valeur actuelle de la luminosité moins 10%.

+
+ +

De la même manière, on a la commande pour augmenter de 10% :

+ + xrandr --output eDP-1 --brightness $(echo "$(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)+.1" | bc) + +
+ +

Enfin, j’ai fait une commande pour récupérer la valeur actuelle de la luminosité et la convertir en pourcentage :

+ + echo $(xrandr --current --verbose|grep -i Brightness | sed s/"Brightness: "//g)*100 | bc + +

On retrouve la même base sauf que le calcul est seulement une multiplication par 100 de la valeur actuelle. Cette commande est utilisée pour mon widget de luminosité.

+
+
+ + + 2.4.5 + subsubsection 2.4.5 + 2.4.5 + §2.4.5 + + <tag close=" ">2.4.5</tag>Changement image de profil + +

Pour modifier l’image affichée sur l’écran de connexion.

+ + sudo nano /etc/lightdm/lightdm-gtk-greeter.conf + +

Le paquet accountsservice résoud une dépendance et permet d’utiliser mugshot qui définit la photo de profil du compte.

+
+
+
+ + + 2.5 + subsection 2.5 + 2.5 + §2.5 + + <tag close=" ">2.5</tag>Chercher et supprimer des fichiers en doublon + +

On utilise le paquet fdupes :

+ + fdupes [options] DIRECTORY + +

Pour chercher les doublons récursivement dans un dossier et les supprimer :

+ + fdupes -r -d DIRECTORY + +

Sources : : https://linux.die.net/man/1/fdupes

+
+ +

Une autre solution est d’utiliser fslint :

+ + sudo apt install fslint + +
+
+ + + 2.6 + subsection 2.6 + 2.6 + §2.6 + + <tag close=" ">2.6</tag>Compresser des images en ligne de commande + +

sudo apt-get install jpegoptim

+
+
+
+
+ + 3 + section 3 + 3 + §3 + + <tag close=" ">3</tag>Manjaro - Arch Linux + + + 3.1 + subsection 3.1 + 3.1 + §3.1 + + <tag close=" ">3.1</tag>Ressources diverses + +

Post-Installation :https://www.youtube.com/watch?v=jl4nyEA-F-o +https://wiki.archlinux.org/index.php/Xfce#Use_a_different_window_manager +https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and_GTK_applications

+
+
+
+
+ + 4 + section 4 + 4 + §4 + + <tag close=" ">4</tag>Awesome WM et la customisation avancée + +

La plupart des distributions utilisent par défaut des gestionnaires de fenêtres "flottantes" : XFCE, MATE, GNOME, etc. Il existe cependant des gestionnaires en mosaïque (Tiling managers) qui permettent de gérer plus précisément ses fenêtres et tout son environnement graphique (à condition de bien vouloir y passer quelques heures de configuration). J’en ai rapidement testé plusieurs mais Awesome est celui dont j’ai le mieux réussi la prise en main et donc que j’utilise en ce moment.En parallèle de ce gestionnaire j’utilise : kitty en terminal, vim en éditeur, compton pour la transparence, ranger pour les fichiers et conky pour mon affichage de données en continu sur le bureau.

+
+ + + 4.1 + subsection 4.1 + 4.1 + §4.1 + + <tag close=" ">4.1</tag>Où sont les fichiers ? + +

Souvent, l’emplacement des fichiers de configuration est "évidente" pour les personnes partageant leurs codes sur internet, et pourtant…

+
+ +

J’essaye d’utiliser Vim pour éditer mes fichiers. Parce que apparemmment c’est la référence pour être efficace et qu’il est configurable pour avoir de la saisie semi-automatique dans LateX. Il est dur de prise en main mais super pratique quand on (commence) à s’y faire.Pour l’édition des thèmes il est presque indispensable grâce à l’extension que j’ai installée qui surligne les codes des couleurs par leur couleur correspondante.

+ + ~/.vim/ + ~/.vimrc + +

Pour les raccourcis : https://vim.rtorr.com/ +Pour le gestionnaire de fichier j’utilise au maximum ranger qui permet d’afficher les fichiers textes sans avoir à les ouvrir, très pratique pour explorer les dossier de code. Il s’utilise au clavier et peut être super rapide et pratique une fois qu’on s’y fait.J’utilise : https://ranger.github.io/cheatsheet.png pour les raccourcis. Les fichiers de configurations sont dans :

+ + ~/.config/ranger/ + +

Ici les modifications sont le fait d’afficher les fichiers cachés et d’activer l’affichage des images directement dans kitty.

+
+ +

Pour le terminal, j’utilise kitty. Il est sobre et permet d’afficher les images en utilisant ranger.

+ + ~/.config/kitty/ + +

Contient le thème dans theme.conf basé sur mon thème actuel.

+
+ +

J’ai installé et configuré Conky pour avoir un affichage permanent de pas mal de données sur le Bureau. +Tout est dans un fichier .conkyrc dans le dossier utilisateur·ice. Il utilise une image dans Images/ImagesConfig/. Il dépend surtout des polices installées et les données sur le réseau utilise le nom d’interface réseau qui peut être différente selon les ordinateurs (pour l’ethernet comme pour le wifi).

+
+ +

Pour la transparence, j’utilise compton et son fichier de configuration .config/compton.conf. Il permet de choisir la transparence des fenêtres actives/inactives, les exclusions, et "l’ombre" sur les fenêtres inactives.

+
+ +

Pour les thèmes, les fichiers sont à trouver et/où copier ici :

+ + ~/.themes/ + ~/.fonts/ + ~/.icons/ + +
+ +

Pour Awesome j’utilise du code trouvé sur internet, et plusieurs dossiers de dépendances pour les widgets. Le fichier rc.lua sert à définir le fonctionnement global (comportement des fenêtres, programmes au démarrage, par défaut, raccourcis clavier, etc) puis dans le dossier themes on trouve tout ce qui est esthétique.Le dossier où tout se passe est ici : +

+ + ~/.config/awesome/ + +
+
+ + + 4.2 + subsection 4.2 + 4.2 + §4.2 + + <tag close=" ">4.2</tag>Dépendances + + + sudo apt install awesome awesome-extra i3lock conky compton kitty vim-runtime ranger lxappearance pulsemixer papirus-icon-theme numix-icon-theme + + + +

J’utilise pulsemixer parce que j’ai réussi à le configurer dans mes raccourcis clavier pour qu’il soit compatible avec mon casque bluetooth.

+
+ +

Lxappearance est nécessaire pour changer le thème utilisé. En effet le programme de xfce ne fonctionne pas dans Awesome (les modifications ne sont pas prises en compte).

+
+ +

J’utilise kitty parce que c’est un terminal très épuré, il a aussi l’avantage de pouvoir afficher les images en étant dans ranger (gestionnaire de fichiers intégré au terminal, avec beaucoup de raccourcis clavier, les mêmes que Vim).

+
+ +

Vim est la référence apparemment pour éditer le code grâce à ses dizaines de raccourcis clavier, je l’ai pas mal configuré pour pouvoir écrire plus facilement du Latex. Et j’utilise un plugin très pratique qui affiche les couleurs du code (les codes couleurs RVB et HTML sont surlignés de la couleur correspondante, très pratique pour l’édition des thèmes).

+
+ +

Sur GitHub : +i3lock-fancy

+
+
+
+
+ + 5 + section 5 + 5 + §5 + + <tag close=" ">5</tag>Yunohost, Brique Internet et autres serveur-like tips + + + 5.1 + subsection 5.1 + 5.1 + §5.1 + + <tag close=" ">5.1</tag>Brique Internet sur clé 4G + +

Le projet labriqueinter.net permet d’installer un mini-serveur sur une carte ARM ou Rasberry (ou autre) avec la particularité de créer un réseau wifi lié à un VPN. Tous les appareils connectés sont alors protégés par le VPN si ils se connectent à ce réseau plutôt qu’à celui de la box. Le projet est basé sur yunohost.org lui même basé sur Debian, permettant de faciliter l’installation et l’utilisation d’un serveur pour les non-initié·es.

+
+ +

Mon cas est particulier pour deux raisons :

+ + + + 1. + item 1 + 1 + item 1 + + +

J’utilise une carte OLIMEX LIME 1, pour laquelle il n’y a pas d’images pour la dernière version du projet, il faut donc réaliser une migration après avoir installé la version précédente. +

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

J’utilise une clé 4G Huawei pour me connecter et non un câble ethernet, il faut donc configurer la carte pour qu’elle se connecte sur cette clé au démarrage.

+
+
+
+
+ +

Ces deux particularités m’ont causé pas mal de soucis avant de finalement réussir une installation. Une réinstallation est maintenant l’occasion pour moi de documenter les opérations nécessaires.

+
+ + + 5.1.1 + subsubsection 5.1.1 + 5.1.1 + §5.1.1 + + <tag close=" ">5.1.1</tag>Installation, post-installation + +

J’ai utilisé le programme disponible sur install.labriqueinter.net pour générer mon fichier install.hypercube. Il faut ensuite utiliser le script fourni install-sd.sh pour installer les fichiers sur la carte sd. Comme il manque la dernière version de l’image pour la LIME1 il y a une erreur à l’exécution.Deux solutions sont alors possibles : installer via une image brique internet Jessie puis faire la migration vers Stretch, ou faire une image brique internet à partir d’une image Yunohost. La première option n’a pas fonctionné pour moi et elle prend énormément de temps avec toutes les mises à jour à faire.On préfèrera donc la méthode :

+ + + + + item  + 1st item + + +

Télécharger une image Yunohost pour LIME1 : https://yunohost.org/#/images

+
+
+ + + + item  + 2nd item + + +

Créer l’image Brique internet à l’aide du script fourni ici : https://github.com/labriqueinternet/build.labriqueinter.net/

+
+
+ + + + item  + 3rd item + + +

Utiliser le script d’installation sur carte SD avec l’image créée.

+
+
+
+

Ma commande d’exécution est celle-ci :

+ + bash install-sd.sh -y install.hypercube -f internetcube-stretch-3.4.2-lime-stable.img + +

L’option -s permet de préciser quel périphérique utiliser si vous savez déjà l’emplacement de celui-ci. +Vous avez besoin d’avoir arp-scan pour la suite :

+ + sudo apt install arp-scan + bash install-sd.sh -l + +

La deuxième commande permet de scanner le réseau pour détecter la brique en cours d’installation. Cela vous donnera l’adresse IP de la brique pour suivre l’avancement de l’installation.

+
+
+ + + 5.1.2 + subsubsection 5.1.2 + 5.1.2 + §5.1.2 + + <tag close=" ">5.1.2</tag>Monter la clé 4G au démarrage comme interface réseau + +

J’utilise une clé Huawei E3372h, j’ai suivi des tutoriels pour la passer de hilink à stick mais je ne suis pas certain que cela soit nécessaire finalement, je vous conseille d’essayer d’abord les commandes suivantes avant d’essayer de faire le changement de mode.Je partage cependant les liens qui m’ont permis de réaliser ce changement (cela m’a nécessité l’utilisation de linux mais aussi windows) :https://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.htmlhttps://markus.relix.de/index.php/Set_Huawei_E3372h_from_hilink_to_stick_mode

+
+ +

Lors de mes premiers tests j’ai testé plusieurs méthodes souvent sans résultats, la solution vient finalement de ce post : https://askubuntu.com/questions/755570/how-to-enable-broadband-connection-with-huawei-e3372h-on-ubuntu-serverCes explications permettent pour mon cas d’ajouter deux lignes dans /etc/rc.local permettant de démarrer la brique en utilisant la clé 4G comme interface réseau. Ce fichier est celui qui permet de lancer des commandes au démarrage.rc.local

+ + #!/bin/sh -e + # + # rc.local + # + # This script is executed at the end of each multiuser runlevel. + # Make sure that the script will "exit 0" on success or any other + # value on error. + # + # In order to enable or disable this script just change the execution + # bits. + # + # By default this script does nothing. + echo -e "AT^NDISDUP=1,1,\"websfr\"\r" > /dev/ttyUSB0 + dhclient wwan0 + exit  + +

Le websfr doit être modifié pour correspondre à l’APN de votre opérateur.

+
+ +

À la suite de ma réinstallation éditer ce fichier est tout ce qu’il m’a fallu faire pour que cela fonctionne.

+
+
+
+ + + 5.2 + subsection 5.2 + 5.2 + §5.2 + + <tag close=" ">5.2</tag>Utilisation de deux serveurs avec un domaine principal et un sous-domaine + +

J’utilise deux serveur, un comme brique internet sur clé 4G, et un autre en serveur principal pour les gros services. Ils ont donc deux adresses IP publiques différentes.Il me fallait donc bien configurer mes enregistrements DNS pour renvoyer mon sous-domaine dédié à la brique internet vers son adresse IP publique, ainsi que pouvoir lui installer un certificat SSL (pour l’https).Il y a donc deux champs à rajouter aux enregistrements DNS :

+ + + + + item  + 1st item + + +

Un enregistrement A pour rediriger vers l’ip https://docs.gandi.net/en/domain_names/faq/record_types/a_record.html

+
+
+ + + + item  + 2nd item + + +

Un enregistrement CAA pour la création de certificat SSL https://docs.gandi.net/en/domain_names/faq/record_types/caa_record.html#caa-records

+
+
+
+

En suivant ces documentations on a donc :

+ + brique 1800 IN A votre.ip + brique.votredomaine.com 3600 IN CAA 128 issue "letsencrypt.org" + +
+ + + 5.2.1 + subsubsection 5.2.1 + 5.2.1 + §5.2.1 + + <tag close=" ">5.2.1</tag>Enlever le bouton Yunohost permanent dans les applications + +

Certaines applications affiche par défaut en bas à droite un lien avec le logo de yunohost. Pour l’enlever il faut modifier la configuration de nginx pour chaque application.Il suffit de commenter la ligne :

+ + include conf.d/yunohost_panel.conf.inc + +

Les fichiers de config sont dans : /etc/nginx/conf.d/ (cela peut varier).Pour info le script appelé est le suivant : +

+ + # Insert YunoHost button + portal overlay + sub_filter </head> ’<script type="text/javascript" src="/ynh_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynh_overlay.css"></link><script type="text/javascript" src="/ynhtheme/custom_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynhtheme/custom_overlay.css"></link></head>’; + sub_filter_once on; + # Apply to other mime types than text/html + sub_filter_types application/xhtml+xml; + # Prevent YunoHost panel files from being blocked by specific app rules + location ~ (ynh_portal.js|ynh_overlay.css|ynh_userinfo.json) { + } + +

Pour voir les changements il faut recharger nginx

+ + sudo systemctl restart nginx + +
+
+
+
+
+ + 6 + section 6 + 6 + §6 + + <tag close=" ">6</tag>Sauvegardes + + + 6.1 + subsection 6.1 + 6.1 + §6.1 + + <tag close=" ">6.1</tag>Android - Utilisation de adb + +

Installation :

+ + sudo apt-get install android-tools-adb android-tools-fastboot + +

Détection :

+ + adb devices + +

Sauvegarde :

+ + adb backup -apk -shared -all -f backup.ab + +

Restaurer :

+ + adb restore backup.ab + +
+
+ + + 6.2 + subsection 6.2 + 6.2 + §6.2 + + <tag close=" ">6.2</tag>GNU-Linux + + + 6.2.1 + subsubsection 6.2.1 + 6.2.1 + §6.2.1 + + <tag close=" ">6.2.1</tag>Le paquet rsync + +

Le paquet rsync permet de sauvegarder ses données par copies. Il copie tous les fichiers sources vers la destination que vous avez choisie. Ensuite, il ne mettra à jour que ceux qui ont été modifiés ou ajoutés. D’où un gain de temps. De plus, rsync peut aussi être utilisé à travers un réseau.

+
+ +

Syntaxe de base : rsync [option] /source /destination

+
+ +

Copier un dossier intégralement

+ + rsync -av /source /destination + +

Copier seulement son contenu

+ + rsync -av /source/ /destination + +

Transfert via SSH, avec un port spécifique

+ + rsync -avzh -e "ssh -p $PORT" --progress /source/ user@domain.net:/destination/ + +

Lors d’un téléchargement distant par ssh, en cas de coupure

+ + rsync --partial --progress --rsh=ssh [source] [user]@[host]:[destination] + +

L’option –partial relance depuis le point d’arrêt, –progress affiche la progression et –rsh=ssh sécurise le transfert.

+
+ +

Exemple :

+ + rsync -r -t -x -v -n --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" --filter "+ jeVeuxCeluiCi.txt" /home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/ | more + +

-r fait une copie récursive-S, traite les fichiers à trous efficacement-x, ne traverse pas les limites du système de fichiers-n, simule la sauvegarde sans ne rien faire réellement–progress affiche la progression–filter permet de désigner les dossiers que l’on ne veut pas sauvegarder (signe -) ou que l’on veut ajouter à la liste (signe +)enlever le -n et |more pour que la sauvegarde se fasse une fois satisfait.

+
+ +

Interfaces graphiques disponibles : grsync et luckybackup

+
+ +

Documentation : https://debian-facile.org/doc:reseau:rsync

+
+
+ + + 6.2.2 + subsubsection 6.2.2 + 6.2.2 + §6.2.2 + + <tag close=" ">6.2.2</tag>Sauvegarde complète de Debian avec un script + +

À l’aide du paquet présenté ci-dessus il est possible de créer un ou des scripts qui sauvegarderont vos données sur un disque externe ou même sur le réseau. Je décris ici la méthode pour une sauvegarde de la racine (fichier de configuration, paquets, réglages des paquets, etc) et des fichiers personnels.Cette partie demande de connaître l’organisation des fichiers dans un système GNU/Linux et comment les contrôler dans un terminal.Cette partie demande en particulier des précautions car elle consiste à modifier ses fichiers avec un contrôle root et cela n’est pas sans risques.Il faut en particulier adapter les noms des partitions de ce guide à son propre système.Pour identifier ses disques, tapez (en root) :

+ + :~# fdisk -l + +

Vérifiez que vous n’avez aucun périphérique usb branché, éteignez et débranchez votre ordinateur, rallumez pour identifier votre disque source. Remettez hors tension, branchez le ou les disques externes, rallumez et identifiez les disques en root. +Si vous utilisez un seul disque externe vous devriez trouver :/dev/sda ### disque source/dev/sdb ### disque des sauvegardesDocumentation : https://wiki.debian-fr.xyz/Sauvegarder_sa_Debian_en_vue_d%27une_R%C3%A9installation_ou_Reconstruction_-_Racine_et_Home_s%C3%A9par%C3%A9s

+
+
+
+
+
+ + 7 + section 7 + 7 + §7 + + <tag close=" ">7</tag>Logiciels + +

Lister les paquets installés

+ + dpkg-query -l + +

Documentation : https://wiki.debian.org/fr/ListInstalledPackages

+
+ + + 7.1 + subsection 7.1 + 7.1 + §7.1 + + <tag close=" ">7.1</tag>Graphisme + +

Logiciels utiles :

+ + + + 1. + item 1 + 1 + item 1 + + +

Dessin vectoriel : Inkscape

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

Édition basique d’images : gthumb

+
+
+
+
+
+
+
+ + 8 + section 8 + 8 + §8 + + <tag close=" ">8</tag>Développement Web + + + 8.1 + subsection 8.1 + 8.1 + §8.1 + + <tag close=" ">8.1</tag>HTML + + + 8.1.1 + subsubsection 8.1.1 + 8.1.1 + §8.1.1 + + <tag close=" ">8.1.1</tag>Centrer une image + +

Centrer une image dépendra de son conteneur, je transcris ici la version simple (dans un paragraphe) et ma source détaille différents cas de figure.Le code dans le corps de la page :

+ + <p class="aligncenter"> +     <img src="image.jpg" alt="centered image" /> + </p> + +

Ce code appelle donc la classe aligncenter définie comme :

+ + <style> + .aligncenter { +     text-align: center; + } + </style> + +

Source : https://html-online.com/articles/image-align-center/

+
+
+ + + 8.1.2 + subsubsection 8.1.2 + 8.1.2 + §8.1.2 + + <tag close=" ">8.1.2</tag>Faire un fond de page web qui change aléatoirement de couleur + +

Ce code permet de changer toutes les 5 secondes la couleur du fond de la page. Il utilise 10 couleurs qui peuvent être modifiée, et on peut rajouter plus de couleurs en rajoutant des choix et en changeant à la bonne valeur la gamme de génération d’entier aléatoire.

+ + <!-- this script got from www.htmlbestcodes.com-Coded by: Krishna Eydat --> + <html> + <head> + <script type="text/javascript"> +       function setbackground() +       { +       window.setTimeout( "setbackground()", 5000); // 5000 milliseconds delay + +       var index = Math.round(Math.random() * 9); + +       var ColorValue = "FFFFFF"; // default color - white (index = 0) + +       if(index == 1) +       ColorValue = "FFCCCC"; //peach +       if(index == 2) +       ColorValue = "CCAFFF"; //violet +       if(index == 3) +       ColorValue = "A6BEFF"; //lt blue +       if(index == 4) +       ColorValue = "99FFFF"; //cyan +       if(index == 5) +       ColorValue = "D5CCBB"; //tan +       if(index == 6) +       ColorValue = "99FF99"; //lt green +       if(index == 7) +       ColorValue = "FFFF99"; //lt yellow +       if(index == 8) +       ColorValue = "FFCC99"; //lt orange +       if(index == 9) +       ColorValue = "CCCCCC"; //lt grey + +       document.getElementsByTagName("body")[0].style.backgroundColor = "#" + ColorValue; +       } + </script> + </head> + <body onload="setbackground();"> + </body> + </html> + +

Source : https://www.htmlbestcodes.com/Set_background_color_randomly.htm

+
+
+
+
+
+ + 9 + section 9 + 9 + §9 + + <tag close=" ">9</tag>Internet + + + 9.1 + subsection 9.1 + 9.1 + §9.1 + + <tag close=" ">9.1</tag>Flux RSS + +

Les flux RSS permettent de suivre les publications de la majorité des sites internet sur une plateforme dédiée, il existe une multitude de services dédiés (Firefox intègre d’ailleurs un lecteur de flux).Un aspect pratique des flux RSS est que cela fonctionne pour s’abonner à des Chaînes YouTube et cela sans compte, certains lecteurs de flux peuvent même afficher la vidéo et donc vous n’avez pas à aller sur YouTube en soi.S’abonner à une chaîne YouTubeURL : https://www.youtube.com/feeds/videos.xml?user=nom de user ou code trouvable dans l’URL sur Youtube

+
+ +

S’abonner à une PlaylistURL : https://www.youtube.com/feeds/videos.xml?playlist_id=nom de playlist ou id de l’URL

+
+
+ + + 9.2 + subsection 9.2 + 9.2 + §9.2 + + <tag close=" ">9.2</tag>Multimédia + + + 9.2.1 + subsubsection 9.2.1 + 9.2.1 + §9.2.1 + + <tag close=" ">9.2.1</tag>youtube-dl + +

Installation :

+ + sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl + sudo chmod a+rx /usr/local/bin/youtube-dl + sudo apt-get install ffmpeg + +
+ +

Mettre à jour

+ + youtube-dl -U + +

Options :

+ + youtube-dl [OPTIONS] URL + -i, --ignore-errors + --playlist-start NUMBER + --playlist-end NUMBER + +

Metadata

+ + --write-description Write video description to a .description file + --write-info-json Write video metadata to a .info.json file + --write-annotations Write video annotations to a .annotations.xml file + --write-thumbnail Write thumbnail image to disk + --write-sub + --all-subs + +

Audio

+ + -x, --extract-audio Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe) + --add-metadata Write metadata to the video file + --metadata-from-title "%(artist)s - %(title)s" + +

Documentation : https://github.com/rg3/youtube-dl/blob/master/README.md

+
+
+ + + 9.2.2 + subsubsection 9.2.2 + 9.2.2 + §9.2.2 + + <tag close=" ">9.2.2</tag>Spotify pour Debian 9 + + + sudo apt instal dirmngr + # 1. Add the Spotify repository signing keys to be able to verify downloaded packages + sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90 + + # 2. Add the Spotify repository + echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list + + # 3. Update list of available packages + sudo apt-get update + + # 4. Install Spotify + sudo apt-get install spotify-client + + + + + + 9.2.3 + subsubsection 9.2.3 + 9.2.3 + §9.2.3 + + <tag close=" ">9.2.3</tag>Télécharger des playlists Spotify + +

J’utilise : https://github.com/SwapnilSoni1999/spotify-dl

+ + sudo npm install -g spotify-dl + +

Il peut être nécessaire d’installer npm avec un simple apt install.

+
+
+
+
+
+ + 10 + section 10 + 10 + §10 + + <tag close=" ">10</tag>Vie privée + + + 10.1 + subsection 10.1 + 10.1 + §10.1 + + <tag close=" ">10.1</tag>Utiliser le VPN Riseup Black + + + + + 1. + item 1 + 1 + item 1 + + +

Créer un compte black.riseup.net

+
+
+ + + 2. + item 2 + 2 + item 2 + + +

Installer Bitmask

+
+
+ + + 3. + item 3 + 3 + item 3 + + +

Ouvrir Bitmask et se connecter

+
+
+
+

Installation de Bitmask pour Debian StretchDocumentation : https://dl.bitmask.net/linux/Il y a besoin d’autoriser les stretch-backports pour installer le dernier paquet leap-archive-keyringNe pas faire cette étape si stretch-backports est déjà activé

+ + sudo echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list + sudo apt update && sudo apt install -t stretch-backports leap-archive-keyring + + + sudo sh -c ’echo "deb http://deb.leap.se/client release stretch" > /etc/apt/sources.list.d/bitmask.list’ + sudo apt update && sudo apt install bitmask + +

Résolution de problème

+
+
+ + + 10.2 + subsection 10.2 + 10.2 + §10.2 + + <tag close=" ">10.2</tag>Changer son adresse mac + +

Installer macchanger :

+ + sudo apt-get install macchanger + +

On peut ensuite connaître son adresse MAC pour la noter :

+ + macchanger eth0 + ou + macchanger wlan0 + ou + macchanger wlp3s0 + +

Créer le fichier de configuration :

+ + sudo nano /etc/init/macchanger.conf + + # macchanger - set MAC addresses + # + # Set the MAC addresses for the network interfaces. + + description     "change mac addresses" + + start on starting network-manager + + pre-start script +         /usr/bin/macchanger -A wlan0 +         /usr/bin/macchanger -A eth0 +         /usr/bin/macchanger -A wmaster0 +         /usr/bin/macchanger -A pan0 +         #/usr/bin/logger wlan0 ‘/usr/bin/macchanger -s wlan0‘ +         #/usr/bin/logger eth0 ‘/usr/bin/macchanger -s eth0‘ + end script + +

Attention à rajouter le nom de votre interface si elle n’est ni wlan0 ni eth0 (c’était wlp3s0 pour moi).Créer le fichier /etc/network/if-post-down.d/random-mac à partir de :

+ + #!/bin/sh + + MACCHANGER=/usr/bin/macchanger + + [ "$IFACE" != "lo" ] || exit 0 + + # Bring down interface (for wireless cards that are up to scan for networks), change MAC address to a random vendor address, bring up the interface + /sbin/ifconfig "$IFACE" down + macchanger -A "$IFACE" + +

Il reste à rendre le script exécutable et à redémarrer le network manager : +

+ + sudo chmod +x /etc/network/if-post-down.d/random-mac + sudo service network-manager restart + +
+ +

Sources : https://riseup.net/fr/security/network-security/mac-address

+
+
+
+
+ + 11 + section 11 + 11 + §11 + + <tag close=" ">11</tag>Bugs divers + + + 11.1 + subsection 11.1 + 11.1 + §11.1 + + <tag close=" ">11.1</tag>Bugs après une installation + + + 11.1.1 + subsubsection 11.1.1 + 11.1.1 + §11.1.1 + + <tag close=" ">11.1.1</tag>Driver wifi - Debian x bcm43xx + +

Pour connaître les composants connectés au bus PCI, on utilise la commande lspci

+
+ +

Version raccourcie pour les réseaux :

+ + ~$ lspci -nn | grep Network + 03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02) + +

Présentation ici d’un cas particulier mais la méthode peut être adaptée à d’autres modèles de drivers.Ajouter contrib non-free à la ligne du fichier /etc/apt/sources.list puis mettre à jour les sources :

+ + # Debian 9 "stretch" + deb http://deb.debian.org/debian/ stretch main contrib non-free + apt-get update + +

Installer le bon firmware selon le driver

+
+ +

BCM4306 revision 3, BCM4311, BCM4318, BCM4321 ou BCM4322 :firmware-b43-installerBCM4312 LP-PHY :firmware-b43-installerBCM4301 chip ou BCM4306 revision 2 :firmware-b43legacy-installer

+
+ +

Source : https://wiki.debian.org/bcm43xx

+
+
+
+ + + 11.2 + subsection 11.2 + 11.2 + §11.2 + + <tag close=" ">11.2</tag>Bugs dans le terminal + + + 11.2.1 + subsubsection 11.2.1 + 11.2.1 + §11.2.1 + + <tag close=" ">11.2.1</tag>./configure say no compiler found + +

Erreur

+ + configure: error: no acceptable C compiler found in $PATH + +

Solution

+ + sudo apt-get install build-essential + +

Source : https://stackoverflow.com/questions/18076157/why-does-configure-say-no-c-compiler-found-when-gcc-is-installed

+
+
+
+
+
+ + 12 + section 12 + 12 + §12 + + <tag close=" ">12</tag>Divers + + + 12.1 + subsection 12.1 + 12.1 + §12.1 + + <tag close=" ">12.1</tag>Wallabako - synchronisation wallabag et kobo + +

Si vous avez une instance Wallabag et une liseuse Kobo, il existe un programme permettant de synchroniser les articles non-lus en les téléchargeant en ePUB sur votre liseuse.

+
+ +

La documentation et les fichiers sont ici : https://gitlab.com/anarcat/wallabako

+
+
+ + + 12.2 + subsection 12.2 + 12.2 + §12.2 + + <tag close=" ">12.2</tag>Contrôler son téléphone Android - scrpy + +

Ce programme permet à un téléphone Android d’être entièrement contrôlé via l’ordinateur auquel il est branché. L’écran est simplement en miroir sur une fenêtre flottante et permet d’utiliser le clavier et la souris de l’ordinateur.Il est disponible sur les principales distributions : https://github.com/Genymobile/scrcpy

+
+
+ + + 12.3 + subsection 12.3 + 12.3 + §12.3 + + <tag close=" ">12.3</tag>Stylet, PC tablette, etc + +

Pour installer les drivers du stylet dans Arch Linux (nécessite un redémarrage) :

+ + sudo pacman -S xf86-input-wacom + +

Pour activer la reconnaissance automatique de l’orientation et changer celle de l’écran et de la souris en même temps, installer les programmes suivants (disponibles en AUR) :

+ + iio-sensor-proxy-git screenrotator-git + +

Ressources : https://wiki.archlinux.org/index.php/Tablet_PC#Stylus

+
+ + + 12.3.1 + subsubsection 12.3.1 + 12.3.1 + §12.3.1 + + <tag close=" ">12.3.1</tag>Activer le clic droit du stylet + +

D’abord, trouver l’id du stylet avec :

+ + xinput --list + + + xsetwacom set <id> button 2 3 + +

Nécessite d’être relancé à chaque démarrage. +

+
+
+
+ + + 12.4 + subsection 12.4 + 12.4 + §12.4 + + <tag close=" ">12.4</tag>ASCII art generator + +

Convertir une image en texte ASCII : https://github.com/uvipen/ASCII-generator

+
+
+
+
+ + 13 + section 13 + 13 + §13 + + <tag close=" ">13</tag>Windows + +

Clé Windows : sudo cat /sys/firmware/acpi/tables/MSDM

+
+
+
+ + 14 + section 14 + 14 + §14 + + <tag close=" ">14</tag>Annexes - Scripts + +

Attention, ces scripts sont des scripts que j’ai réalisé il y a parfois longtemps et souvent pour une utilisation unique. Il sont donc non-optimisés et potentiellement cassés. Ils ont fonctionné pour moi et fonctionnent probablement encore mais je conseille de les utiliser avec prudence pour éviter toute perte de fichiers.

+
+ + + 14.1 + subsection 14.1 + 14.1 + §14.1 + + <tag close=" ">14.1</tag>Trier des fichiers par année + +

J’avais un gros dossier en vrac de vieilles photos, que je voulais garder mais en créant des dossiers par année pour les retrouver plus facilement. Il se trouve que l’on ne peut pas trouver dans les métadonnées la date de création mais seulement de dernière modification. J’ai reproduit ici ce script comme exemple de script simple et pour qu’il soit réutilisable.

+ + #!/bin/bash + echo "Chemin du dossier a trier :" + read chemin + cd $chemin + ls + #Teste chaque fichier du dossier chemin + for i in *; do +         if [ -d "$i" ]; then +         #-d est l’option pour savoir si un dossier existe, ici on teste si il est utile de l’analyser ou pas +                 echo "C’est un dossier" +         else +                 annee=‘stat -c ’%y’ "$i" | awk -F - ’{print $1}’ +                 #Sort l’annee de derniere modification +                 #-c utilise le format precise plutot que celui par defaut. ’%y’ date de la derniere modification d’etat en format lisible. +                 #awk -F - precise que le separateur est le tiret et pas un espace +                 #’{print $1}’ s’arrete d’afficher au premier separateur +                 #"$i" entre guillement pour eviter les erreurs avec les espaces dans les noms + +                 if [ -d $annee ]; then +                         mv "$i" $annee +                 else +                         mkdir $annee +                         mv "$i" $annee +                 fi +         fi + done + +
+
+ + + 14.2 + subsection 14.2 + 14.2 + §14.2 + + <tag close=" ">14.2</tag>Post-Installation automatique + +

Quand on veut réinstaller son ordinateur on sait généralement déjà de quoi on a besoin/envie. Et la force de GNU/Linux est de pouvoir réaliser de nombreuses étapes de post-installation automatiquement.Celui-ci permet surtout d’installer les quelques programmes non-installés par défaut mais utiles comme les paquets pour lire les fichiers d’un téléphone android. Il permet aussi d’installer les librairies qui permettent de lire les DVD.Si les lignes correspondantes sont décommentées, il permet d’installer VirtualBox.Enfin, il peut être utilisé pour copier les fichiers de configuration que vous avez déjà, sous réserve de quelques modifications/ajouts pour les lignes commençants par cp -r.Il nécessite bien entendu d’être exécuté en root ou avec sudo.

+ + #!/bin/sh + #echo "Dossier des fichiers de config" + #read dossier + #echo "nom utilisateur/trice" + #read id + echo "Verifier que sudo est bien installe, sinon le script ne pourra pas fonctionner [O/n]" + read answer + if [ $answer = "O" ]; then +         sudo apt update +         #Utiles et dependances +         sudo apt install curl ffmpeg accountsservice git tree rsync apt-transport-https numix-gtk-theme numix-icon-theme +         #Android +         sudo apt install android-tools-adb android-tools-fastboot gvfs-backends jmtpfs libmtp-common +         #Bureautique et multimedia +         sudo apt install gthumb inkscape texmaker handbrake vlc +         #Utilitaires +         sudo apt install keepassx gnome-disk-utility +         #Internet +         sudo apt install thunderbird transmission pidgin + +         #cp -r $dossier/.config /home/$id/ +         #cp -r $dossier/.theme home/$id/ +         #cp -r $dossier/.mozilla home/$id/ + +         #Install libdvdcss (necessite apt-transport-https) +         wget -O - https://download.videolan.org/pub/debian/videolan-apt.asc | sudo apt-key add - && echo "deb https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list +         echo "deb-src https://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/videolan.list + +         #Install youtube-dl +         sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl +         sudo chmod a+rx /usr/local/bin/youtube-dl + +         #Install VirtualBox +         #wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - +         #wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - +         #echo "deb https://download.virtualbox.org/virtualbox/debian stretch contrib" |sudo tee -a /etc/apt/sources.list.d/virtualbox.list + +         sudo apt update +         #sudo apt-get install virtualbox-6.0 +         sudo apt install libdvdcss2 +         #echo "URL de telechargement VMware : https://my.vmware.com/fr/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0" +         #echo "Pour installer, utiliser la commande sudo bash VMware-xxxx.bundle" +         #Dependances VMware +         #sudo apt install libx11-6 libx11-dev x-window-system-core x-window-system xorg-docs libxtst6 psmisc build-essential +         echo "Installation finie" + else +         exit + fi + +
+
+ + + 14.3 + subsection 14.3 + 14.3 + §14.3 + + <tag close=" ">14.3</tag>Compression de PDF + +

Ce script permet de compresser des PDF sans avoir à passer par un utilitaire tiers.Note : je n’ai plus aucun souvenirs de comment je l’ai créé, je l’ai juste testé avant de le reproduire ici et il fonctionne.

+ + #!/bin/bash + echo "Nom et chemin du fichier a compresser, sans l’extension .pdf" + read chemin + echo "Nom et chemin du fichier de sortie, sans l’extension .pdf" + read sortie + + gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$sortie.pdf $chemin.pdf + +
+
+ + + 14.4 + subsection 14.4 + 14.4 + §14.4 + + <tag close=" ">14.4</tag>Écrire soit-même des <text font="typewriter">fortunes</text> en semi-automatique + +

Les fortunes sont les fichiers permettant d’afficher des citations aléatoires dans un terminal ou dans certains widgets. Il en existe de nombreuses versions mais on peut aussi les créer nous-même, comme c’est un peu fastidieux, j’avais fait un script pour l’occasion. Attention il nécessite d’être exécuté en root car il écrit des fichiers dans des répertoires protégés en écriture.

+ + #!/bin/bash + #Ce script a pour but de faciliter la mise a jour des fichiers fortune. + echo -e "\033[1;45;41m Ce script necessite les droits d’administrateur pour fonctionner \033[0m" + echo -e "\033[1;44m Bienvenue dans ce script de mise a jour de fortune \033[0m" + #Creation d’un fichier texte avec la liste des fichiers fortune (1 par ligne) + cd /usr/share/games/fortunes + ls -I "*.dat" -I "*.u8" + echo -e "\033[1;44mTaper le nom du fichier a modifier, ou" "\033[1;42mNouveau\033[0m""\033[1;44m pour un nouveau fichier\033[0m" + #cree la variable fichier en lui assignant la valeur tapee + read num + if [ $num = Nouveau ]; then +    echo -e "\033[1;42mEntrer un nom pour le nouveau fichier\033[0m" +    read fichier + else +    for i in * +    do +       if [ $num = $i ]; then +          fichier=$i +       fi +    done + fi + + if [ -z "$fichier" ]; then +    echo "Le fichier n’existe pas" + else +    echo -e "\033[1;45;41mModification avec nano ou avec le script ?\033[0m" +    echo -e "\033[1;45;31mNano : 1\033[0m" +    echo -e "\033[1;45;34mScript : 2\033[0m" +    read choix +    if [ $choix = 1 ]; then +       nano /usr/share/games/fortunes/$fichier +       echo -e "\033[1;45;41mFin de la modification\033[0m" +    elif [ $choix = 2 ]; then +       #initialise la variable rep a 0 pour la boucle while +       rep=o +       while [ $rep = o ] +          #boucle while : tant que la variable rep reste a "o" on peut continuer a rajouter des lignes. +          #on demande donc a chaque insertion si l’on continue ou pas, si une autre valeur que o est renseignee, le script sort de la boucle while +          do +          echo "Entrer la citation a ajouter et appuyer sur [ENTREE]" +          #assigne la variable ligne a l’insertion au clavier +          read ligne +          #ajoute apres la derniere ligne du fichier la variable  ligne +          echo $ligne >> /usr/share/games/fortunes/$fichier +          #rajoute une nouvelle ligne avec un % +          echo % >> /usr/share/games/fortunes/$fichier +          echo "Continuer ? [o/n]" +          #enregistre la reponse pour continuer dans rep +          read rep +       done +    fi +    #mets a jour les autres fichiers fortune +    strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.u8 +    strfile /usr/share/games/fortunes/$fichier /usr/share/games/fortunes/$fichier.dat + fi + + exit 0; + +
+
+ + + 14.5 + subsection 14.5 + 14.5 + §14.5 + + <tag close=" ">14.5</tag>Convertir une archive Youtube en dossier de favoris + +

Ce projet répondait à un besoin spécifique de récupérer mes playlists Youtube avant de supprimer mon compte. Youtube permet de récupérer une archive de toutes ses données, mais les donne sous forme de fichier .json qui est complètement inutilisable tel quel.Mon idée était de récupérer toutes les données et d’en faire un .html exploitable par firefox comme une sauvegarde de favoris et donc en faire un dossier avec par exemple toutes mes vidéos "À voir"ou mes playlists.Ce script utilise des fichiers annexes header.txt et prog.sed pour fonctionner et écrit plusieurs fichiers dans le dossier tmp. Il faut les supprimer à chaque nouvelle utilisation. Pour cela vous pouvez utiliser le script rm.sh.

+ + #!/bin/bash + #Conversion .json to id and title + echo -e "name of .json :" + read path + #.json file gives the video id under "videoId" : "example", + #.json file gives the video title under "title" : "example" + #For each entry videoId is given twice + #Remove every lines without "videoId" : " and writes the results in a temp file + sed ’’’/"videoId" : "/!d’’’ $path &>> /tmp/tmpIds + #Same thing with titles + sed ’’’/"title" : "/!d’’’ $path &>> /tmp/Titles + #There is two lines for each Id but one ends with ", so it removes all those lines + sed ’’’/",/d’’’ /tmp/tmpIds &>> /tmp/Ids + #We replace "videoId" by the HTML + sed ’’’s/      "videoId" : "/\<DT\>\<A HREF="https:\/\/www\.youtube\.com\/watch?v=/g’’’ /tmp/Ids &>> /tmp/Ids2 + + while read line + do +         echo "${line/%\"/</A>}" &>> /tmp/Titles2 + done < /tmp/Titles + sed ’’’s/"title" : "/>/g’’’ /tmp/Titles2 &>> /tmp/Titles3 + + paste -d "" /tmp/Ids2 /tmp/Titles3 &>> links.html + + sed -f prog.sed links.html &>> linksdone.html + + cat header.txt linksdone.html >autobookmarks.html + + echo -e \<\/DL\>\<p\> &>> autobookmarks.html + echo -e \<\/DL\>\<p\> &>> autobookmarks.html + cp autobookmarks $path.html’ + +
+ + + 14.5.1 + subsubsection 14.5.1 + 14.5.1 + §14.5.1 + + <tag close=" ">14.5.1</tag>prog.sed + + + i\ \<DL\>\<p\> + a\ \<\/DL\>\<p\> + + + + + + 14.5.2 + subsubsection 14.5.2 + 14.5.2 + §14.5.2 + + <tag close=" ">14.5.2</tag>header.txt + + + <!DOCTYPE NETSCAPE-Bookmark-file-1> + <!-- This is an automatically generated file. +      It will be read and overwritten. +      DO NOT EDIT! --> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> + <TITLE>Bookmarks</TITLE> + <H1>Bookmarks</H1> + + + + + + 14.5.3 + subsubsection 14.5.3 + 14.5.3 + §14.5.3 + + <tag close=" ">14.5.3</tag>rm.sh + + + #!/bin/bash + rm /tmp/Titles + rm /tmp/Titles2 + rm /tmp/Titles3 + rm /tmp/Ids + rm /tmp/Ids2 + rm /tmp/tmpIds + rm autobookmarks.html + rm links.html + rm linksdone.html + rm linksdone2.html + rm linkstmp + + + +
+
+
diff --git a/x1.png b/x1.png new file mode 100644 index 0000000..413728f Binary files /dev/null and b/x1.png differ