Outils pour utilisateurs

Outils du site


installfreebsd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
installfreebsd [2019/03/10 13:24] cyrilleinstallfreebsd [2019/03/24 11:07] – [Démarrer xfce] cyrille
Ligne 61: Ligne 61:
  
 Le recharger  Le recharger 
-<code bash>cap_mkdb /etc /login.conf</code>+<code bash>cap_mkdb /etc/login.conf</code>
  
 =====Initialisation de pkg===== =====Initialisation de pkg=====
Ligne 69: Ligne 69:
 =====AJOUTER un user===== =====AJOUTER un user=====
 <code bash># adduser</code> <code bash># adduser</code>
-L’inclure dans les groupes : wheel operator video+L’inclure dans les groupes : **wheel operator video**
  
  
Ligne 75: Ligne 75:
 =====Gestion du son===== =====Gestion du son=====
  
-<code bash>#kldload snd_driver</code>+<code bash># kldload snd_driver</code>
 <code bash>cat /dev/sndstat <code bash>cat /dev/sndstat
 Installed devices: Installed devices:
Ligne 85: Ligne 85:
 No devices installed from userspace.</code> No devices installed from userspace.</code>
  
-<code bash>#sysrc kld_list+=snd_hda</code>+<code bash># sysrc kld_list+=snd_hda</code>
  
  
Ligne 103: Ligne 103:
  
  
 +===== Network Manager =====
 +
 +
 +==== Network Manager ====
 +
 +
 +<code bash>pkg show  networkmgr
 +WWW            : https://github.com/GhostBSD/networkmgr
 +Comment        : FreeBSD/GhostBSD network conection manager
 +Annotations    :
 + repo_type      : binary
 + repository     : FreeBSD
 +Flat size      : 1.71MiB
 +Description    :
 +NetworkMgr is an open source, Network Manager based on the look of the Linux
 +Network Manager user interface. It use ifconfig and netif if make all work.
 +</code>
 +
 +Il faudra ensuite configurer DOA pour que ça fonctionne
 +
 +<code bash>cat /usr/local/etc/doas.conf
 +
 +    permit nopass keepenv root
 +    permit :wheel 
 +    permit nopass keepenv :wheel cmd netcardmgr
 +    permit nopass keepenv :wheel cmd ifconfig
 +    permit nopass keepenv :wheel cmd service</code>
 +
 +Se delogguer, l'utilisateur doit faire partie du groupe **wheel**.
 +
 +
 +Gestion de la connexion par ce fichier
 +
 +<code bash> cat /etc/wpa_supplicant.conf</code>
 +
 +
 +==== CLI graphique de gestion ====
 +
 +<code bash> pkg install  wifimgr</code>
 =====X11 / XFCE===== =====X11 / XFCE=====
  
Ligne 111: Ligne 150:
 ====Pour activer le suspend et resume ==== ====Pour activer le suspend et resume ====
 Créer ces 2 fichiers Créer ces 2 fichiers
-<code bash>pkg info -D xfce4-session  
-xfce4-session-4.12.1_4: 
-Always: 
-To be able to shutdown or reboot your system, you'll have to add .rules 
-files in /usr/local/etc/polkit-1/rules.d directory. Which looks 
-like this (replace PUTYOURGROUPHERE by your group): 
  
-polkit.addRule(function (action, subject) {+**/usr/local/etc/polkit-1/rules.d/51.shutdown.rules** 
 + 
 + 
 +<code bash>polkit.addRule(function (action, subject) {
   if ((action.id == "org.freedesktop.consolekit.system.restart" ||   if ((action.id == "org.freedesktop.consolekit.system.restart" ||
       action.id == "org.freedesktop.consolekit.system.stop")       action.id == "org.freedesktop.consolekit.system.stop")
Ligne 125: Ligne 161:
   }   }
 }); });
 +</code>
  
-For those who have working suspend/resume:+**/usr/local/etc/polkit-1/rules.d/52.resume.rules** 
  
-polkit.addRule(function (action, subject) {+<code bash>polkit.addRule(function (action, subject) {
   if (action.id == "org.freedesktop.consolekit.system.suspend"   if (action.id == "org.freedesktop.consolekit.system.suspend"
       && subject.isInGroup("PUTYOURGROUPHERE")) {       && subject.isInGroup("PUTYOURGROUPHERE")) {
Ligne 135: Ligne 172:
 });</code> });</code>
  
 +puis 
  
 +<code bash>chown -R polkitd /usr/local/etc/polkit-1/</code>
  
  
Ligne 145: Ligne 184:
 <code bash>Pkg install dbus <code bash>Pkg install dbus
 service dbus onestart</code> service dbus onestart</code>
 +
 +Démarrage auttomatique, ajouter
 +<code bash>cat /etc/rc.conf
 +dbus_enable="YES"</code>
  
 On utilisera xinit pour le lacement de XFCE On utilisera xinit pour le lacement de XFCE
-Créer dans le Home un .xinitrc+Créer dans le Home un **.xinitrc**
  
 <code bash># SET PROPER locale <code bash># SET PROPER locale
Ligne 159: Ligne 202:
 /usr/local/bin/startxfce4</code> /usr/local/bin/startxfce4</code>
  
 +Lier xinitrc et xsession
 +<code bash> ln -s ~/.xinitrc ~/.xsession</code>
  
 Enfin lancer la session X Enfin lancer la session X
 <code bash>xinit .xinitrc</code> <code bash>xinit .xinitrc</code>
  
-Lier xinitrc et xsession +Pour démarrer la session de XFCE, j'ai choisi la façon manuelle sinon on peut passer, entre autre par SLIM. 
-<code bash> ln -s ~/.xinitrc ~/.xsession</code>+J'ai donc créer cet alias  
 +<code bash>alias x='xinit ~/.xinitrc'</code> 
 +et la commande **x** suffit au démarrage de XFCE 
 + 
 +Sinon : jeter un oeil à SLIM : [[https://www.freebsd.org/cgi/man.cgi?query=slim&sektion=1&manpath=freebsd-release-ports|Slim]] 
  
  
  
 ====anti-aliasing avec la police Helvetica===== ====anti-aliasing avec la police Helvetica=====
-Editer ce fichier ainsi+Editer ce fichier ainsi : **/usr/local/etc/fonts/local.conf** 
 <code bash><?xml version='1.0'?> <code bash><?xml version='1.0'?>
 <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
Ligne 217: Ligne 267:
 </fontconfig></code> </fontconfig></code>
  
 +====Gestionnaire WIFI====
 +Bien que par défaut, on n'en a pas besoin. On peut vouloir utiliser un outil style Gestionnaire Wifi
 +<code bash>pkg install wifimgr</code>
  
 +Sinon la(es) connexion(s) se gère(nt) via :
 +<code bash> cat /etc/wpa_supplicant.conf</code>
 +
 +====Barre de Menu pour XFCE====
 +
 +J'utilise Plank, simple et convivial.
 +
 +<code bash># pkg install plank</code>
 +
 +Ajouter cette commande au démarrage de XFCE
 =====Paramétrage de Xorg===== =====Paramétrage de Xorg=====
 ====Carte video==== ====Carte video====
Ligne 262: Ligne 325:
 service microcode_update start</code> service microcode_update start</code>
  
-====ACPI====+==== ACPI ==== 
 +=== CPU et TEMP === 
  device driver for Intel Core on-die digital thermal sensor  device driver for Intel Core on-die digital thermal sensor
  cpuctl pseudo device  cpuctl pseudo device
Ligne 269: Ligne 334:
  sysrc kld_list+=cpuctl</code>  sysrc kld_list+=cpuctl</code>
  
 +==== Fn Keys : DELL latitude E5430 ====
  
 +Ai rencontré un soucis avec les touches **Fn + brightness** seulement sur le Latitude E5430. Avec le Latitude E6410 pas de soucis.
 +
 +Les touches** FN et luminosité -up/down** ne fonctionnent pas. De plus **xbindkeys** ne retourne aucun code avec l'association **Fn + Brightness UP / Down** (Pas de Mod 2 + quelque chose)
 +
 +Solution adoptée. 
 +
 +Installer : 
 +<code bash>pkg install xbindkeys intel-backlight</code>
 +
 +
 +Fichier de configuration :
 +<code bash>cat .xbindkeysrc 
 +# PERSONNAL XBINDKEYS
 + "intel_backlight decr 10"
 + Alt + Down
 +
 + "intel_backlight incr 10"
 + Alt + Up
 +</code>
 +
 +Lancer xbindkeys au démarrage de la session **~/.xinitrc** 
 +
 +Ajouter cette section avant le démarrage de XFCE dans 
 +<code bash># Démarrer xbindkeys
 +/usr/local/bin/xbindkeys  &</code>
 +
 +==== XFCE / FLUXBOX / OPENBOX ====
 +Pour avoir le choix entre plus Windows Manager : ici fluxbox, openbox
 +
 +<code bash>pkg install openbox openbox-themes obconf fluxbox fluxbox-tenr-styles-pack icewm wmakerconf windowmaker blackbox  </code>
 +
 +Modifier le fichier **~/.xinitrc** de cette façon
 +
 +<code bash># GESTIONNAIRE X
 +  DEFAULT_SESSION=startxfce4
 +
 +case $1 in
 +o)
 +    exec openbox
 +    ;;
 +f)
 +    exec fluxbox
 +    ;;
 +i)
 +    icewmbg &
 +    icewmtray &
 +    exec icewm
 +    ;;
 +w)
 +    exec wmaker
 +    ;;
 +b)
 +    exec blackbox
 +    ;;
 +*)
 +    exec $DEFAULT_SESSION
 +    ;;
 +esac
 +</code>
 +
 +Dans votre shell, créer l'alias suivant
 +<code bash>alias x='xinit ~/.xinitrc'</code>
 +A la connexion, un **x** lancer xfce, **x o** openbox **x b** blackbox....
  
 =====Monter les périphériques amovibles===== =====Monter les périphériques amovibles=====
Ligne 321: Ligne 450:
 # /etc/rc.d/devd restart</code> # /etc/rc.d/devd restart</code>
 Et hop, ça fonctionne…... Et hop, ça fonctionne…...
 +
 +=====Dropbox=====
 +Pas de portage Dropbox sous freeBSD
 +Le kernel de freeBSD ne prend pas en charge **inotify** donc pas de dropbox... En tout cas dropbox ne fournit pas de client freeBSD. Reste à trouver une alternative ou utiliser wine et le client windows (parait il)... Il y aussi [[https://www.freshports.org/devel/libinotify|libnotify]] mais pas trop cherché dans ce sens ....
 +
 +En alternative, il y a [[https://www.freshports.org/net/rclone|rclone]] qui fait très bien le travail mais en ligne de commande. Mais reste très gérable.
 +
 + <code bash>pkg info rclone
 +rclone-1.43
 +Name           : rclone
 +Version        : 1.43
 +Installed on   : Sat Feb 23 19:02:31 2019 CET
 +Origin         : net/rclone
 +Architecture   : FreeBSD:12:amd64
 +Prefix         : /usr/local
 +Categories     : net
 +Licenses       : MIT
 +Maintainer     : wg@FreeBSD.org
 +WWW            : https://rclone.org/
 +Comment        : Sync files to and from various cloud services
 +Annotations    :
 + FreeBSD_version: 1200086
 + repo_type      : binary
 + repository     : FreeBSD
 +Flat size      : 26.1MiB
 +Description    
 +Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and
 +Google Cloud Storage
 +
 +WWW: https://rclone.org/</code>
 +
 +On l'installe 
 +<code bash># pkg install rclone</code>
 +
 +Puis on le configure
 +<code bash>$ rclone config</code>
 +
 +Toute la doc est là [[https://rclone.org/dropbox/|Configurer rclone pour Dropbox]]
 +
 +L'option dropbox est la **7**, on valide le tout et on finit par être redirigé vers une page **d'association dropbox/rclone** qu'on renseigne et valide.
 +
 +Sur mon système mon répertoire **dropbox** et dans mon** /home/$USER/Dropbox** et contient 2 dossiers essentiels qui seront mis à jour soit de mon **PC vers la Dropbox** ou de la **Dropbox vers mon PC**.
 +
 +J'ai écrit ce script qui fonctionne sur 3 arguments
 +* le premier : **IN** ou **OUT** : la synchronisation se fait vers la Dropbox ou depuis la Dropbox
 +* le second : **répertoire à mettre à jour** : COURS ou DIR
 +* le dernier : **dry** ou **write** : **dry** : on simule, **write** on met à jour
 +
 +Puis 1 alias :
 +<code bash>alias dropbox='/home/ragnarok/SCRIPTS/dropbox.sh'</code>
 +
 +Pour mettre à jour le répertoire DIR depuis la Dropbox vers mon PC
 +<code bash>dropbox IN DIR write</code>
 +
 +Pour simuler une synchroniation du répertoire COURS de mon PC vers la Dropbox
 +<code bash>dropbox OUT COURS dry</code>
 +
 +Et c'est tout ! Le script ci-dessous : 
 +
 +
 +<code bash>#!/bin/sh
 +  echo == DEBUG ==
 +  echo "Nom du script : $0";
 +  echo argument 1 : $1
 +  echo argument 2 : $2
 +  echo "Tous les arguments : $* ($# arguments)"
 +  echo == FIN DEBUG ==
 +
 +
 +# =========================================
 +case $# in
 +  0) echo "Aucun parametre"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +  1) echo "Il manque un paramètre !"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +  2) echo "2 parametres passes au programme : $1 et $2";;
 +  3) echo "Le 3eme argument ne peut être que --dry-run ou write";;
 +  *) echo "TROP DE PARAMETRES !"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +esac
 +
 +# =========================================
 +    if [ $1 == "IN" ]
 +        then
 +            echo "Depuis la dropbox";
 +     source="dropbox:/"    ;
 +            dest="/home/ragnarok/Dropbox/";
 +
 +    elif [ $1 == "OUT" ]
 +        then   
 +            echo "Vers la dropbox" ;
 +     source="/home/ragnarok/Dropbox/"    ; 
 +            dest="dropbox:/";
 +
 +    else
 +        echo "$1  : Soit IN soit OUT";
 + exit;
 +    fi
 +# =========================================
 +    if [ $2 == "DIR" ]
 +        then
 +            echo "Repertoire de DIR";
 +            dir="DIR-2018-2019";
 +    elif [ $2 == "COURS" ]
 +        then   
 +            echo "Repertoire de COURS" 
 +     dir="COURS-2018-2019";
 +    elif [ $2 == "ecole" ]
 +        then   
 +     echo "Repertoire Ecole" 
 +     dir="ecole";
 +    else
 +        echo "$2  : Soit DIR soit COURS soit ecole";
 + exit;
 +    fi
 +# =========================================
 +
 +  if [ $3 == "dry" ]
 +        then
 +            echo "Option --dry-run activée";
 +     option="--dry-run";
 +  elif [ $3 == "write" ]
 +        then
 +            echo "Option: aucune. En action";
 +     option="";
 +  else
 +            echo "$3  : Ne peut être que dry ou write";
 + exit;
 +    fi
 +# =========================================
 +
 +echo "rclone sync $source$dir $dest$dir $option --progress"
 +rclone sync $source$dir $dest$dir $option --progress
 +
 +echo " --------------- Done.";
 +</code>
 +===== WINE =====
 +Attention il faut installer le paquet i386 même si on est en 64bit, sinon erreur de segmentation.
 +
 +Donc 
 +<code bash>pkg install i386-wine</code>
 +
 +Puis peaufinage via 
 +<code bash>$ winecfg</code>
 +
 +Accepter tout ce qu'il propose de télécharger et installer.
 +
 +
 +Fonctionne nickel, mais les polices sont vraiment bizarres.
 +
 +Éditer **~/.config/fontconfig/fonts.conf** de cette manière : 
 +<code bash><?xml version="1.0"?>
 +<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 + 
 +<fontconfig>
 + 
 +  <!-- antialias all fonts -->
 +  <match target="font">
 +    <edit name="antialias" mode="assign"><bool>true</bool></edit>
 +    <edit name="hinting"   mode="assign"><bool>true</bool></edit>
 +    <edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
 +    <edit name="rgba"      mode="assign"><const>rgb</const> </edit>
 +    </match>
 + 
 +</fontconfig></code>
 +
 +=====Arduino=====
 +Surtout ne pas installer la version depuis les ports, elle ne passe pas (l'iDE d'aruino ne sait pas compiler) et c'est hyper casse-pieds pour la desinstaller. Préférer la version précompilée (**pkg**).
 +<code bash>pkg install arduino</code>
 +
 +Si nécessaire, inclure votre $USER aux groupes **operator** et **dialer**
 +<code bash>
 +# sudo pw groupmod operator -m $USER
 +# sudo pw groupmod dialer -m $USER</code>
 +
 +Donner l'accès aux périphériques USB via /etc/devfs.rules
 +# cat /etc/devfs.rules
 +#
 +# Allow operators access to usb devices.
 +#
 +[operator_usb=5]
 +add path usbctl mode 0660 group operator
 +add path 'usb/*' mode 0660 group operator
 +add path 'ugen*' mode 0660 group operator
 +
 +Prise en compte des changements
 +<code bash># sudo sysrc devfs_system_ruleset=operator_usb</code>
 +Relance du service devfs
 +<code bash># sudo service devfs restart</code>
 +
 +On branche sa carte et on vérifie sa détection
 +<code bash>$ usbconfig 
 +...
 +ugen0.2: <Arduino (www.arduino.cc) product 0x0043> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
 +</code>
 +
 +{{ ::capture_d_ecran_2019-03-10_14-53-21.png?direct&400 |}}
 +
 +
 +=====DUAL BOOT freeBSD / Linux=====
 +J'avais une Linux Debian SID d'installée sur mon PC. 
 +
 +<code bash>$ sudo fdisk -l
 +Disque /dev/sda : 111,8 GiB, 120034123776 octets, 234441648 secteurs
 +Unités : secteur de 1 × 512 = 512 octets
 +Taille de secteur (logique / physique) : 512 octets / 512 octets
 +taille d'E/S (minimale / optimale) : 512 octets / 512 octets
 +Type d'étiquette de disque : dos
 +Identifiant de disque : 0x0c3bb11c
 +
 +Périphérique Amorçage    Début       Fin  Secteurs Taille Id Type
 +/dev/sda1           2048 143362047 143360000  68,4G 83 Linux
 +/dev/sda2             226338814 234440703   8101890   3,9G  5 Étendue
 +/dev/sda3             143362048 226338813  82976766  39,6G a5 FreeBSD
 +/dev/sda5             226338816 234440703   8101888   3,9G 82 partition d'échange</code>
 +
 +Donc on voit
 +    * sda1 : Partition primaire : Racine linux /
 +    * sda2 : Partition étendue
 +    * sda 3 : FreeBSD
 +    * sda5 : swap Linux
 +
 +**Configuration du grub sous LINUX**
 +Sous LINUX, éditer le fichier suivant : **/etc/grub.d/40_custom** et créer l'entrée ci-dessous
 +
 +Attention hd0,3 car freeBSD est sur /dev/sda3, s'il était sur le 1, mettre hd0,1, sur le 2 hd0,2, sur la seconde partition d'un deuxième disque hd1,2... Donc à adapter à votre configuration
 +
 +<code bash>#!/bin/sh
 +exec tail -n +3 $0
 +# This file provides an easy way to add custom menu entries.  Simply type the
 +# menu entries you want to add after this comment.  Be careful not to change
 +# the 'exec tail' line above.
 +menuentry "FreeBSD 12" {
 +    set root='(hd0,3)'
 +    kfreebsd /boot/loader
 +}
 +</code>
 +
 +Prendre en compte les modifications de la configuration du grub
 +
 +<code bash># update-grub
 +Création du fichier de configuration GRUB…
 +Image Linux trouvée : /boot/vmlinuz-4.10.0-38-generic
 +Image mémoire initiale trouvée : /boot/initrd.img-4.10.0-38-generic
 +Found memtest86+ image: /boot/memtest86+.elf
 +Found memtest86+ image: /boot/memtest86+.bin
 +unknown Linux distribution trouvé sur /dev/sda3
 +</code>
 +
 +Rebooter et la nouvelle entrée est fonctionnelle dans le grub.
 +
 +===== Bash =====
 +
 +<code bash># chsh -s /usr/local/bin/bash {username}</code>
 +
 +
 +<code bash>grep ragnarok /etc/passwd</code>
 +
 +
 +
 +
 +<code bash>cat /etc/fstab
 +## append the following to /etc/fstab file ##
 +fdesc  /dev/fd  fdescfs  rw 0 0</code>
 +
 +<code bash>add the following to your ~/.bashrc or ~/.bash_profile file:
 +[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \
 + . /usr/local/share/bash-completion/bash_completion.sh</code>
 +
 +
 +<code bash># pkg install bash-completion</code>
  
  
-====Sources====+=====Sources=====
 Je n'ai pas pondu tout cela tout seul, j'ai lu pas mal de docs et les forums BSD. Je n'ai pas pondu tout cela tout seul, j'ai lu pas mal de docs et les forums BSD.
 Voici les sources indispensables à mon avis : Voici les sources indispensables à mon avis :
Ligne 331: Ligne 731:
   *[[https://www.c0ffee.net/blog/freebsd-on-a-laptop/|FreeBSD on a laptop]]   *[[https://www.c0ffee.net/blog/freebsd-on-a-laptop/|FreeBSD on a laptop]]
   *[[https://www.tecmint.com/things-to-do-after-installing-freebsd/|Post installation freeBSD laptop]]   *[[https://www.tecmint.com/things-to-do-after-installing-freebsd/|Post installation freeBSD laptop]]
 +  *[[https://www.cyberciti.biz/faq/freebsd-bash-installation/|FreeBSD Install BASH Shell Using pkg command]]
  
  
installfreebsd.txt · Dernière modification : 2020/06/06 17:12 de cyrille