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:40] – [ACPI] cyrilleinstallfreebsd [2019/03/10 16:41] – [Gestion du son] cyrille
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 147: Ligne 147:
  
 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 165: Ligne 165:
 Lier xinitrc et xsession Lier xinitrc et xsession
 <code bash> ln -s ~/.xinitrc ~/.xsession</code> <code bash> ln -s ~/.xinitrc ~/.xsession</code>
 +
 +Pour démarrer la session de XFCE, j'ai choisi la façon manuelle sinon on peut passer, entre autre par SLIM.
 +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]]
 +
  
  
Ligne 217: Ligne 225:
 </fontconfig></code> </fontconfig></code>
  
-Gestionnaire WIFI+====Gestionnaire WIFI====
 Bien que par défaut, on n'en a pas besoin. On peut vouloir utiliser un outil style 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> <code bash>pkg install wifimgr</code>
Ligne 224: Ligne 232:
 <code bash> cat /etc/wpa_supplicant.conf</code> <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 269: Ligne 283:
 service microcode_update start</code> service microcode_update start</code>
  
-==== ACPI====+==== ACPI ====
 === CPU et TEMP === === CPU et TEMP ===
  
Ligne 278: Ligne 292:
  sysrc kld_list+=cpuctl</code>  sysrc kld_list+=cpuctl</code>
  
-=== Fn Keys : DELL latitude E5430 ===+==== 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.+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/downne fonctionnent pas. De plus xbindkeys ne retourne aucun code avec l'association Fn + Brightness UP / Down (Pas de Mod 2 + quelque chose)+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.  Solution adoptée. 
Ligne 300: Ligne 314:
 </code> </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 352: Ligne 409:
 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>
 +
 +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.
  
-====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 :
installfreebsd.txt · Dernière modification : 2020/06/06 17:12 de cyrille