{"id":226,"date":"2022-02-12T20:29:16","date_gmt":"2022-02-12T20:29:16","guid":{"rendered":"https:\/\/www.aya.io\/blog\/?p=226"},"modified":"2022-02-14T07:58:37","modified_gmt":"2022-02-14T07:58:37","slug":"raspberry-pi-linux-joie","status":"publish","type":"post","link":"https:\/\/www.aya.io\/blog\/raspberry-pi-linux-joie\/","title":{"rendered":"Raspberry Pi + Linux = Joie"},"content":{"rendered":"<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-sweeticons.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-sweeticons.png\" alt=\"intro\" \/><\/a><\/p>\n<p>Peut-on remplacer son Mac par un Raspberry Pi au quotidien ? Oui ! Enfin, non. Bon, \u00e7a d\u00e9pend...<\/p>\n<p>Pas pour le d\u00e9veloppement iOS \u00e9videmment, mais pour tout le reste, \u00e7a peut !<\/p>\n<p>Je raconte comment j'ai install\u00e9 puis configur\u00e9, aux petits oignons, une station Raspberry Pi 400 avec Raspberry OS, qui m'apporte une joie consid\u00e9rable.<\/p>\n<p><!-- more --><\/p>\n<h1>Installer la distribution<\/h1>\n<p>Il faut installer Raspberry Pi OS sur une carte d\u00e9di\u00e9e. Il faut 16Go minimum. 32 seront confortables, et 64 est id\u00e9al si vous comptez manipuler des gros fichiers, mais le plus important est que la carte soit rapide, classe 10 et bon fabriquant sont indispensables.<\/p>\n<p>Le plus simple pour l'install est d'utiliser l'app <a href=\"https:\/\/www.raspberrypi.com\/software\/\">Raspberry Imager<\/a>, disponible sur toutes les plateformes. <\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-piimager.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-piimager.png\" alt=\"pi imager\" \/><\/a><\/p>\n<p>Dans l'app, s\u00e9lectionnez la version de votre choix de Raspberry Pi OS (32 ou 64 bits) mais surtout faites bien attention \u00e0 choisir <strong>Raspberry Pi OS<\/strong> et non pas Ubuntu par exemple, qui est compl\u00e8tement bugg\u00e9e pour Pi.<\/p>\n<p>La version 64 bits est 20% plus rapide, mais occupe deux fois plus de place et mange plus de RAM. Perso j'ai pris la version 32 bits, largement assez v\u00e9loce sur le Pi 400 de toute fa\u00e7on. A noter tout de m\u00eame que certaines apps ne sont pas disponibles sur 32 bits, v\u00e9rifiez d'abord selon vos besoins.<\/p>\n<p>Une fois l'image copi\u00e9e sur la carte vous pouvez l'ins\u00e9rer dans le Pi puis d\u00e9marrer. <\/p>\n<p>Ensuite suivez les instructions pour la configuration de base - WIFI, timezone, langage, username, password, etc, tout est simple et visuel.<\/p>\n<p>Arrive un moment o\u00f9 le bureau sera charg\u00e9. C'est le bureau PIXEL sp\u00e9cialement con\u00e7u pour les Pi. Sympa, mais tr\u00e8s limit\u00e9. Nous allons le remplacer par Xfce 4, tout aussi l\u00e9ger mais bien plus configurable et arrangeant, surtout avec 4 Go de RAM.<\/p>\n<h2>Installation Xfce<\/h2>\n<p>Pour un Pi, c'est l'environnement de bureau id\u00e9al. Bien s\u00fbr vous pourriez installer un KDE Plasma ultramoderne, \u00e7a passe avec 8 Go de RAM, mais je trouve que \u00e7a fait un peu contresens sur un Pi. On pourrait aussi de l'autre c\u00f4t\u00e9 choisir un environnement minimaliste, ce qui est parfaitement valable - mais aujourd'hui nous allons suivre la voie du milieu.<\/p>\n<p>Il y a un petit assistant qui va nous faciliter la t\u00e2che.<\/p>\n<p>Faites<\/p>\n<pre><code class=\"language-bash\">sudo tasksel<\/code><\/pre>\n<p>puis dans le menu allez sur Xfce et appuyez sur Espace pour s\u00e9lectionner, puis Tab pour aller sur Ok puis Enter.<\/p>\n<p>Tasksel va t\u00e9l\u00e9charger tous les fichiers n\u00e9c\u00e9ssaires \u00e0 Xfce puis les installer proprement.<\/p>\n<p>Ensuite nous voulons remplacer le login automatique vers PIXEL par un login automatique vers Xfce. Ca se fait avec un autre utilitaire :<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config x-session-manager<\/code><\/pre>\n<p>Dans la liste, s\u00e9lectionnez &quot;Xfce4&quot; en pressant le num\u00e9ro correspondant.<\/p>\n<p>Ensuite un reboot et c'est ok.<\/p>\n<p>Au red\u00e9marrage, si Xfce vous propose un &quot;panel&quot; par d\u00e9faut, dites oui pour faciliter la config, m\u00eame si personnellement je l'ai enlev\u00e9 tout de suite apr\u00e8s. Je garde le panel du haut, qui fait &quot;power bar&quot;, mais j'enl\u00e8ve le panel du bas qui fait &quot;Dock&quot;.<\/p>\n<h1>Dracula + Sweet + Candy<\/h1>\n<p><a href=\"https:\/\/draculatheme.com\/\">Dracula<\/a> est un th\u00e8me - palette de couleurs, d\u00e9coration de fen\u00eatres, etc - qui a la particularit\u00e9 d'\u00eatre disponible pour plus de 200 applications, ce qui permet d'obtenir un r\u00e9sultat homog\u00e8ne pour tout l'environnement. Vous pouvez appliquer Dracula non seulement au bureau, fen\u00eatres, ic\u00f4nes, menus, mais aussi \u00e0 tout le syst\u00e8me et \u00e0 toutes les apps : terminal, navigateur, traitement de texte, etc.<\/p>\n<p>Tout ce que l'on installe dans ce tuto est th\u00e9m\u00e9 avec Dracula, y compris Vim et Zsh !<\/p>\n<p>Je trouve que l'environnement de travail que l'on va installer est sublim\u00e9 par ce th\u00e8me, qui unifie parfaitement bien tous les \u00e9l\u00e9ments de l'interface graphique.<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-filesandchromium.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-filesandchromium.png\" alt=\"fichiers et chromium\" \/><\/a><\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-menus.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-menus.png\" alt=\"menus\" \/><\/a><\/p>\n<p>Et en rajoutant le th\u00e8me Sweet et les icones Candy, on couvre tout le spectre de ce qui est th\u00e9mable dans ce bureau et on se retrouve avec un ensemble super classe. J'adore le m\u00e9lange Dracula et Sweet !<\/p>\n<p>Sinon dans le m\u00eame genre il y a aussi <a href=\"https:\/\/github.com\/catppuccin\/catppuccin\">catppuccin<\/a> qui est tr\u00e8s appr\u00e9ci\u00e9.<\/p>\n<h2>Th\u00e8me<\/h2>\n<p>On commence par installer les th\u00e8mes et icones pour le bureau.<\/p>\n<p>T\u00e9l\u00e9chargez :<\/p>\n<p><a href=\"https:\/\/github.com\/dracula\/gtk\/archive\/master.zip\">https:\/\/github.com\/dracula\/gtk\/archive\/master.zip<\/a><br \/>\n<a href=\"https:\/\/github.com\/dracula\/gtk\/files\/5214870\/Dracula.zip\">https:\/\/github.com\/dracula\/gtk\/files\/5214870\/Dracula.zip<\/a><\/p>\n<p>puis<\/p>\n<p><a href=\"https:\/\/github.com\/EliverLara\/Sweet\/releases\/download\/v3.0\/Sweet-Dark.zip\">https:\/\/github.com\/EliverLara\/Sweet\/releases\/download\/v3.0\/Sweet-Dark.zip<\/a><br \/>\n<a href=\"https:\/\/github.com\/EliverLara\/candy-icons\/archive\/refs\/heads\/master.zip\">https:\/\/github.com\/EliverLara\/candy-icons\/archive\/refs\/heads\/master.zip<\/a> <\/p>\n<p>et d\u00e9zippez les themes dans <code>~\/.themes\/<\/code> et les icones dans <code>~\/.icons\/<\/code> (renommez au besoin).<\/p>\n<p>Allez ensuite dans Menu Principal &gt; Gestionnaire de param\u00e8tres &gt; Apparence, et choisissez &quot;dracula&quot; ou &quot;sweet&quot; dans Style, et &quot;candy&quot; dans Icones.<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-desktopsettings.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-desktopsettings.png\" alt=\"desktop settings\" \/><\/a><\/p>\n<h2>Fen\u00eatres<\/h2>\n<p>C'est la grande mode des &quot;tiling window managers&quot; dans le monde Linux, et c'est vrai que c'est tr\u00e8s attirant de pouvoir organiser ses fen\u00eatres de mani\u00e8re g\u00e9om\u00e9trique sans qu'elles ne se marchent jamais dessus. Mais l'installation et la configuration de ces WM (type Xmonad) est incroyablement complexe, et je laisse \u00e7a pour un prochain dossier.<\/p>\n<p>A la place, ici, nous allons tout simplement cr\u00e9\u00e9r un jeu de raccourcis clavier pour le gestionnaire de fen\u00eatres, qui va nous permettre de caler les fen\u00eatres sans avoir besoin de WM \u00e9tranger.<\/p>\n<p>Allez dans Menu Principal &gt; Gestionnaire de fen\u00eatres &gt; Clavier, puis assignez des combinaisons de touches pour les actions &quot;Agencer la fen\u00eatre en mosa\u00efque ...&quot;. Par exemple je reprends les codes de Vim pour me souvenir facilement donc j'ai mis Maj+Ctrl+J pour demi \u00e9cran en bas, Maj+Ctrl+K pour demi \u00e9cran en haut, Maj+Ctrl+H pour demi \u00e9cran \u00e0 gauche, et\u00a0Maj+Ctrl+L pour demi \u00e9cran \u00e0 droite.<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-windowshortcuts.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-windowshortcuts.png\" alt=\"shortcuts\" \/><\/a><\/p>\n<p>Si comme moi vous enlevez les menus des fen\u00eatres ainsi que leurs bordures (en tout cas pour le terminal Xfce), le tout en association avec Tmux, vous vous retrouverez avec un bureau super clean et bien cal\u00e9, sans avoir besoin de rien ajouter.<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-tiledterminals.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-tiledterminals.png\" alt=\"tiled\" \/><\/a><\/p>\n<p>Profitez-en pour regarder les autres actions propos\u00e9es, il y a plein de r\u00e9glages sympa \u00e0 faire dans ces pr\u00e9f\u00e9rences.<\/p>\n<h2>Terminal<\/h2>\n<p>Beaucoup de geeks vous diraient, avec raison, qu'il faut un bon terminal pour pouvoir administrer Linux correctement, et vous proposeraient des terminaux modernes de type Alacritty, Kitty, Terminator, etc. Alors certes ils sont tr\u00e8s bien, mais ils sont \u00e9galement complexes \u00e0 param\u00e9trer et ne me sont pas sp\u00e9cifiquement utiles - je trouve que le terminal Xfce4 est largement suffisant pour mes usages.<\/p>\n<p>Pour installer Dracula dans le terminal Xfce :<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/dracula\/xfce4-terminal.git\ncp xfce4-terminal\/Dracula.theme ~\/.local\/share\/xfce4\/terminal\/colorschemes<\/code><\/pre>\n<p>Relancez le terminal puis allez dans son menu Pr\u00e9f\u00e9rences &gt; Apparence &gt; Couleurs et choisissez Dracula.<\/p>\n<h2>Zsh<\/h2>\n<p>Dans ce terminal on ne pas utiliser Bash au quotidien, mais Zsh. On va le g\u00e9rer avec l'utilitaire &quot;Oh my Zsh&quot; :<\/p>\n<pre><code class=\"language-bash\">sudo apt install zsh\nsh -c &quot;$(curl -fsSL https:\/\/raw.github.com\/ohmyzsh\/ohmyzsh\/master\/tools\/install.sh)&quot;\ngit clone https:\/\/github.com\/dracula\/zsh.git\ncp zsh\/dracula.zsh-theme ~\/.oh-my-zsh\/themes\/dracula.zsh-theme\nsource ~\/.zshrc<\/code><\/pre>\n<p>Ces commandes vont installer Zsh puis Oh My Zsh. Suivez ensuite le tuto propos\u00e9 par OMZ pour faire vos r\u00e9glages de base.<\/p>\n<h2>PowerLevel10k<\/h2>\n<p>Ensuite on ajoute PowerLevel10k qui permet de confectionner une superbe ligne de commande. Il faut d'abord <a href=\"https:\/\/github.com\/romkatv\/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k\">t\u00e9l\u00e9charger les fonts Meslo<\/a> qui sont id\u00e9ales pour \u00e7a. <\/p>\n<p>T\u00e9l\u00e9chargez les fichiers TTF, copiez les dans <code>.fonts<\/code> et activez-les :<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/.fonts\ncp ~\/Downloads\/*.ttf ~\/.fonts\/\nfc-cache<\/code><\/pre>\n<p>Ensuite faites<\/p>\n<pre><code class=\"language-bash\">git clone --depth=1 https:\/\/github.com\/romkatv\/powerlevel10k.git ${ZSH_CUSTOM:-$HOME\/.oh-my-zsh\/custom}\/themes\/powerlevel10k<\/code><\/pre>\n<p>et vous ajoutez cette ligne \u00e0 la fin :<\/p>\n<pre><code class=\"language-text\">source ~\/.oh-my-zsh\/custom\/themes\/powerlevel10k\/powerlevel10k.zsh-theme<\/code><\/pre>\n<p>Ensuite vous rechargez Zsh:<\/p>\n<pre><code class=\"language-bash\">exec zsh<\/code><\/pre>\n<p>puis maximisez la fen\u00eatre de votre terminal et ensuite lan\u00e7ez la configuration de PowerLevel avec :<\/p>\n<pre><code class=\"language-bash\">p10k configure<\/code><\/pre>\n<p>Toujours dans Xfce Terminal, dans Pr\u00e9f\u00e9rences, s\u00e9lectionnez la police que vous venez d'installer.<\/p>\n<p>Et pour finir :<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/dracula\/powerlevel10k.git\ncd powerlevel10k\ncp .\/files\/.zshrc ~\/.zshrc\ncp .\/files\/.p10k.zsh ~\/.p10k.zsh<\/code><\/pre>\n<p>puis \u00e9ditez <code>~\/.zshrc<\/code> et commentez la ligne ZSH_THEME et ajoutez cette ligne \u00e0 la place :<\/p>\n<pre><code class=\"language-text\">ZSH_THEME=&quot;dracula&quot;<\/code><\/pre>\n<h2>Rofi<\/h2>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-rofi.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-rofi.png\" alt=\"rofi\" \/><\/a><\/p>\n<p>C'est un lanceur modal qui permet, comme dans macOS, de faire apparaitre une fenetre flottante avec un champ de texte pour trouver rapidement une application \u00e0 lancer ou un fichier \u00e0 ouvrir, d'un simple rraccourci clavier tel que Meta-Espace.<\/p>\n<pre><code class=\"language-bash\">sudo apt install rofi\nmkdir -p ~\/.config\/rofi\nrofi -dump-config &gt; ~\/.config\/rofi\/config.rasi\ngit clone https:\/\/github.com\/dracula\/rofi\ncp rofi\/theme\/config1.rasi ~\/.config\/rofi\/config.rasi<\/code><\/pre>\n<p>Allez dans le menu principal du bureau, ouvrez Param\u00e8tres &gt; Clavier &gt; Raccourcis d'applications, et ajoutez un raccourci de votre choix (Alt+Espace pour faire comme dans macOS) contenant cette ligne :<\/p>\n<pre><code class=\"language-bash\">rofi -modi &quot;run,drun,window&quot; -show run<\/code><\/pre>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-windowprefs.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-windowprefs.png\" alt=\"windows shortcuts\" \/><\/a><\/p>\n<h2>Ruby<\/h2>\n<p>Il est conseill\u00e9 de ne pas utiliser les versions de Ruby packag\u00e9es dans le syst\u00e8me, comme sur macOS, et d'utiliser un gestionnaire de versions \u00e0 la place. J'ai l'habitude d'utiser Rbenv.<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/sstephenson\/rbenv.git $HOME\/.rbenv\nmkdir $HOME\/.rbenv\/plugins\ngit clone https:\/\/github.com\/sstephenson\/ruby-build.git $HOME\/.rbenv\/plugins\/ruby-build<\/code><\/pre>\n<p>Ouvrez <code>~\/.zshrc<\/code> et ajoutez ces deux lignes :<\/p>\n<pre><code class=\"language-bash\">export PATH=$HOME\/.rbenv\/bin:$PATH\neval &quot;$(rbenv init -)&quot;<\/code><\/pre>\n<p>Relancez zsh si besoin. Ensuite vous pouvez installer un Ruby r\u00e9cent et le d\u00e9clarer comme version globale par d\u00e9faut :<\/p>\n<pre><code class=\"language-bash\">rbenv install 3.1.0 --verbose\nrbenv global 3.1.0<\/code><\/pre>\n<h2>Tmux<\/h2>\n<p>Je me sers principalement de tmux pour diviser le terminal en panneaux, mais c'est \u00e9galement bien pratique pour d\u00e9tacher et attacher des sessions.<\/p>\n<pre><code class=\"language-bash\">sudo apt install tmux\ngit clone https:\/\/github.com\/tmux-plugins\/tpm ~\/.tmux\/plugins\/tpm<\/code><\/pre>\n<p>Ouvrez <code>~\/.tmux.conf<\/code> et ajoutez \u00e7a \u00e0 la fin :<\/p>\n<pre><code class=\"language-text\">set -g @plugin &#039;tmux-plugins\/tpm&#039;\nset -g @plugin &#039;tmux-plugins\/tmux-sensible&#039;\nset -g @plugin &#039;dracula\/tmux&#039;\nset -g @plugin &#039;tmux-plugins\/tmux-resurrect&#039;\nrun -b &#039;~\/.tmux\/plugins\/tpm\/tpm&#039;<\/code><\/pre>\n<p>Finalement, activez le tout. Lancez tmux, puis sourcez, puis faites prefix+I pour installer les plugins list\u00e9s :<\/p>\n<pre><code class=\"language-bash\">tmux\ntmux source ~\/.tmux.conf\n&lt;prefix+I&gt;<\/code><\/pre>\n<p>Faites-vous des r\u00e9glages comme vous les aimez dans le fichier conf, perso je change pas mal de choses, notamment le pr\u00e9fixe (voir mon exemple \u00e0 la toute fin de cette page). Et gr\u00e2ce au plugin resurrect, faites prefix-s pour sauver le contexte avant de quitter, ainsi vous pourrez le recharger avec prefix-r au prochain lancement.<\/p>\n<h2>vim<\/h2>\n<p>Si comme moi vous utilisez Vim tout le temps ou presque, je vous conseille quelques r\u00e9glages et plugins pour vous faciliter son usage sur le Pi.<\/p>\n<p>Installez d'abord vim si necessaire, puis le gestionnaire de plugins.<\/p>\n<pre><code class=\"language-bash\">sudo apt install vim\nvim\n&lt;:q&gt;\ncurl -fLo ~\/.vim\/autoload\/plug.vim --create-dirs https:\/\/raw.githubusercontent.com\/junegunn\/vim-plug\/master\/plug.vim<\/code><\/pre>\n<p>Installez node (on aura besoin plus tard de toute fa\u00e7on) puis t\u00e9l\u00e9chargez le CSS pour Markdown :<\/p>\n<pre><code class=\"language-bash\">sudo apt install node\nnpm install github-markdown-css<\/code><\/pre>\n<p>Copiez le fichier <code>github-markdown.css<\/code> dans <code>~\/.vim\/<\/code> si le script d'install ne l'a pas fait.<\/p>\n<p>Ajoutez \u00e7a \u00e0 la fin de <code>~\/.vimrc<\/code> :<\/p>\n<pre><code class=\"language-vim\">let g:mkdp_refresh_slow=1\nlet g:mkdp_markdown_css=&#039;~\/.vim\/github-markdown.css&#039;\nlet g:snipMate = { &#039;snippet_version&#039; : 1 }\n\ncall plug#begin()\n\nPlug &#039;sheerun\/vim-polyglot&#039;\nPlug &#039;preservim\/nerdtree&#039;\nPlug &#039;godlygeek\/tabular&#039;\nPlug &#039;preservim\/vim-markdown&#039;\nPlug &#039;iamcco\/markdown-preview.nvim&#039;, { &#039;do&#039;: { -&gt; mkdp#util#install() }, &#039;for&#039;: [&#039;markdown&#039;, &#039;vim-plug&#039;]}\nPlug &#039;dracula\/vim&#039;, { &#039;as&#039;: &#039;dracula&#039; }  \nPlug &#039;MarcWeber\/vim-addon-mw-utils&#039;\nPlug &#039;tomtom\/tlib_vim&#039;\nPlug &#039;garbas\/vim-snipmate&#039;\nPlug &#039;honza\/vim-snippets&#039;\n\ncall plug#end()<\/code><\/pre>\n<p>Ensuite relancez vim, puis tapez <code>:PlugInstall<\/code> pour commencer l'installation des plugins list\u00e9s dans le fichier de conf.<\/p>\n<pre><code class=\"language-bash\">vim\n&lt;:PlugInstall&gt;<\/code><\/pre>\n<h3>NerdTree<\/h3>\n<p>En mode NORMAL, tapez <code>:NERDTree<\/code> + Enter pour faire appara\u00eetre le navigateur de fichiers int\u00e9gr\u00e9 \u00e0 Vim (en fait tapez juste <code>:NE&lt;TAB&gt;<\/code>, m\u00eame principe d'autocompl\u00e9tion que dans le terminal).<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-nerdtree.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-nerdtree.png\" alt=\"NERDTree\" \/><\/a><\/p>\n<h3>SnipMate<\/h3>\n<p>En mode NORMAL, faites <code>:SnipMateOpenSnippetFiles<\/code> + Enter, cela va ouvrir la liste des fichiers de snippets disponibles. S\u00e9lectionnez-en un et observez la syntaxe pour vous en inspirer, c'est facile.<\/p>\n<p>A l'usage, il suffit de se mettre en mode INSERT, de taper le mot-cl\u00e9 d\u00e9clencheur puis de taper la touche attribu\u00e9e, par d\u00e9faut TAB.<\/p>\n<h3>Yank to clipboard<\/h3>\n<p>Dans Vim le copier-coller se fait avec les registres de Vim, c'est-\u00e0-dire que les tampons m\u00e9moire sont internes \u00e0 Vim, le syst\u00e8me ne les voit pas quand on copie en mode VISUAL avec <code>y<\/code>.<\/p>\n<p>Une solution est de map <code>Y<\/code> sur une commande qui partage le registre copi\u00e9 dans le clipboard du syst\u00e8me. Faites <code>y<\/code> pour copier dans Vim ou <code>Y<\/code> pour copier dans le clipboard.<\/p>\n<p>Ajoutez \u00e7a dans <code>~\/.vimrc<\/code> :<\/p>\n<pre><code class=\"language-text\">nnoremap Y &quot;+y\nvnoremap Y &quot;+y\nnnoremap yY ^&quot;+y$<\/code><\/pre>\n<h2>SSH<\/h2>\n<p>Il est indispensable de pouvoir se connecter au Pi \u00e0 partir d'une autre machine, il nous faut donc ouvrir le serveur ssh.<\/p>\n<p>Changez le nom d'utilisateur si ce n'est d\u00e9j\u00e0 fait (il est d\u00e9conseill\u00e9 de garder le nom pi si vous ouvrez SSH - en tout cas il est indispensable que vous en changiez le mot de passse par d\u00e9faut) et activez SSH \u00e0 partir de l'utilitaire de configuration :<\/p>\n<pre><code class=\"language-bash\">sudo raspi-config<\/code><\/pre>\n<p>Faites menu 1 pour le user name, puis faites menu 5 (Interfacing Options) pour s\u00e9lectionner le bouton &quot;Yes&quot; qui va lancer le serveur automatiquement pour toutes les prochaines sessions.<\/p>\n<p>Pour se connecter au pi en SSH \u00e0 partir d'une autre machine il vous faudra conna\u00eetre son adresse ip sur le r\u00e9seau interne. Faites donc <code>ifconfig<\/code> et vous y verrez en principe l'interface &quot;wlan0&quot; qui repr\u00e9sente le wifi, et son ip \u00e0 c\u00f4t\u00e9.<\/p>\n<p>Si l'utilisateur du Pi est &quot;yolo&quot; est l'ip du pi est &quot;192.168.1.12&quot;, faites ceci sur la machine qui veut s'y connecter :<\/p>\n<pre><code class=\"language-bash\">ssh yolo@192.168.1.12<\/code><\/pre>\n<p>Tout simplement.<\/p>\n<h2>Acc\u00e9der \u00e0 un share<\/h2>\n<p>Si vous avez une machine qui partage des fichiers sur votre r\u00e9seau, il est tr\u00e8s facile d'y acc\u00e9der \u00e0 partir du Pi avec un gestionnaire de fichiers visuel tel que Thunar, d\u00e9j\u00e0 install\u00e9 par d\u00e9faut (perso je pr\u00e9f\u00e8re Pcmanfm).<\/p>\n<p>Ceci dit, si la machine qui partage les fichiers est un Mac, il faut commencer par aller, sur ce Mac, dans Pr\u00e9f\u00e9rences &gt; Partage &gt; Options, activer Partager via SMB, et ne pas oublier de cocher la case en face de votre user name.<\/p>\n<p>Et pour y acc\u00e9der en ligne de commande il y a quelques manipulations \u00e0 faire.<\/p>\n<p>Sur le pi cr\u00e9ez un fichier <code>~\/.smbcredentials<\/code> qui contient username et mot de passe de la machine qui partage, comme ceci :<\/p>\n<pre><code class=\"language-text\">username=ed\npassword=1234<\/code><\/pre>\n<p>Ensuite dans le terminal faites<\/p>\n<pre><code class=\"language-bash\">mkdir -p ~\/mnt\/name\nsudo vim \/etc\/fstab<\/code><\/pre>\n<p>avec un nom de votre choix \u00e0 la place de &quot;name&quot; (en principe on met le nom de la machine qui partage, par exemple &quot;macmini&quot; dans mon cas).<\/p>\n<p>Puis ajoutez cette ligne \u00e0 la fin :<\/p>\n<pre><code class=\"language-text\">\/\/machinequipartage\/usernamecoch\u00e9danspartage \/home\/usernamedupi\/mnt\/name cifs credentials=\/home\/usernamedupi\/.smbcredentials 0 0<\/code><\/pre>\n<p>Si par exemple la machine qui partage est <code>macmini.local<\/code>, que sur cette machine l'utilisateur &quot;ed&quot; est le partageur de son compte, et que l'utilisateur du Pi est &quot;yolo&quot; et qu'il veut monter le dossier partag\u00e9, cette ligne serait :<\/p>\n<pre><code class=\"language-text\">\/\/macmini.local\/ed \/home\/yolo\/mnt\/macmini cifs credentials=\/home\/yolo\/.smbcredentials 0 0<\/code><\/pre>\n<p>Ensuite pour monter le partage faites<\/p>\n<pre><code class=\"language-bash\">sudo mount -a<\/code><\/pre>\n<p>Cette manipulation vous permettra d'acc\u00e9der au partage en lecture\/\u00e9criture avec vos droits d'utilisateur sans avoir \u00e0 passer par root.<\/p>\n<h2>Chromium et Firefox<\/h2>\n<p>Normalement Chromium est d\u00e9j\u00e0 install\u00e9, sinon faites :<\/p>\n<pre><code class=\"language-bash\">sudo apt install chromium<\/code><\/pre>\n<p>C'est franchement le navigateur qui a le meilleur compromis modernit\u00e9\/fiabilit\u00e9\/l\u00e9g\u00e8ret\u00e9\/vitesse sur le Pi. Mais je vous conseille \u00e9galement d'installer Firefox, m\u00eame s'il est bien plus lourd en RAM et CPU, car il est aussi tr\u00e8s joli, propose un meilleur rendu des pages, et offres plus de features comme la synchro des bookmarks par exemple.<\/p>\n<pre><code class=\"language-bash\">sudo apt install firefox-esm<\/code><\/pre>\n<h2>FileZilla<\/h2>\n<p>Un peu antique, mais il propose toutes les fonctionnalit\u00e9s que l'on attend de lui.<\/p>\n<pre><code class=\"language-bash\">sudo apt install filezilla<\/code><\/pre>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-filezilla.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-filezilla.png\" alt=\"filezilla\" \/><\/a><\/p>\n<h2>VSCode<\/h2>\n<p>Malheureusement Sublime Text n'est pas disponible sur le Pi en 32 bits (et n'est pas mature sous 64 bits de toute fa\u00e7on), et je vous d\u00e9conseille l'utilsation d'IDE lourds tel que Eclipse sur le Pi. Il nous reste une excellente option avec VSCode qui tourne tr\u00e8s bien m\u00eame avec 4 Go de RAM.<\/p>\n<pre><code class=\"language-bash\">sudo apt install code\ngit clone https:\/\/github.com\/dracula\/visual-studio-code.git ~\/.vscode\/extensions\/theme-dracula\ncd ~\/.vscode\/extensions\/theme-dracula\nnpm install\nnpm run build<\/code><\/pre>\n<h2>bpytop<\/h2>\n<p>Le meilleur remplacement de luxe pour la commande top, avec en prime le th\u00e8me Dracula int\u00e9gr\u00e9 !<\/p>\n<pre><code class=\"language-bash\">sudo apt install bpytop<\/code><\/pre>\n<p>Une fois bpytop lanc\u00e9, et pass\u00e9 le choc devant la geekerie de la chose, faites <code>M<\/code> pour ouvrir son menu, puis fl\u00e8ches droite\/gauche pour naviguer dans les th\u00e8mes. Dracula et Nord sont ceux qui s'accordent le mieux avec notre bureau.<\/p>\n<p><a href=\"https:\/\/aya.io\/blog\/images\/pi400-crunchingpngs.png\"><img decoding=\"async\" src=\"https:\/\/aya.io\/blog\/images\/pi400-crunchingpngs.png\" alt=\"bpytop\" \/><\/a><\/p>\n<h1>dotfiles<\/h1>\n<p>Tous les fichiers de configuration qui ont servi \u00e0 cette installation sont disponibles sur mon compte <a href=\"https:\/\/github.com\/ericdke\/dotfiles-pi4\">GitHub<\/a>.<\/p>\n<p>Il y a m\u00eame le fond d'\u00e9cran tout joli.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Peut-on remplacer son Mac par un Raspberry Pi au quotidien ? Oui ! Enfin, non. Bon, \u00e7a d\u00e9pend&#8230; Pas pour le d\u00e9veloppement iOS \u00e9videmment, mais pour tout le reste, \u00e7a peut ! Je raconte comment j&rsquo;ai install\u00e9 puis configur\u00e9, aux petits oignons, une station Raspberry Pi 400 avec Raspberry OS, qui m&rsquo;apporte une joie consid\u00e9rable.&hellip; <a class=\"more-link\" href=\"https:\/\/www.aya.io\/blog\/raspberry-pi-linux-joie\/\">Poursuivre la lecture <span class=\"screen-reader-text\">Raspberry Pi + Linux = Joie<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,15,30,16,11,10],"tags":[],"class_list":["post-226","post","type-post","status-publish","format-standard","hentry","category-dossier","category-linux","category-pi","category-os","category-term","category-tuto","entry"],"_links":{"self":[{"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/posts\/226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":9,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/posts\/226\/revisions"}],"predecessor-version":[{"id":238,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/posts\/226\/revisions\/238"}],"wp:attachment":[{"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/media?parent=226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/categories?post=226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aya.io\/blog\/wp-json\/wp\/v2\/tags?post=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}