Installation de LibreELEC et de Catch-up TV & More sur un Raspberry Pi

Versions installées

LibreELEC 9.2.6 – Kodi 18.9 – Catch-up TV & More 0.2.34 – IPTV Simple PVR Add-on 3.10.1 – IPTV Manager 0.2.3 – IPTV Recorder 0.0.131 – FFmpeg Tools 9.2.0.111

Le but

On installe LibreELEC sur un Raspberry Pi, une distribution avec le média center Kodi. On ajoute ensuite Catch-up TV & More pour pouvoir regarder la télévision ainsi IPTV Manager ,IPTV Recorder et ffmpeg pour enregistrer des émissions.

Création de la carte SD avec LibreELEC depuis Windows

Depuis le site :

https://libreelec.tv/downloads_new/

J’ai téléchargé LibreELEC USB-SD Creator pour Windows. Je l’ai ensuite utilisé pour créer ma carte SD avec LibreELEC. J’ai ensuite installé cette carte mémoire sur un Raspberry Pi 3 model B. J’ai suivi la procédure de paramétrage qui s’est exécutée au démarrage.

LibreELEC intègre le média center Kodi.


Catch-up TV & More

J’ai ensuite installé Catch-up TV & More en suivant la procédure suivante :

https://catch-up-tv-and-more.github.io/fr/installation/

Catch-up TV & More permet de regarder la télévision en direct et de rattrapage.

IPTV Manager et IPTV Recorder

J’ai ensuite installé IPTV Manager et IPTV Recorder en suivant la procédure suivante :

https://catch-up-tv-and-more.github.io/fr/live_tv_installation/

Cette fonctionnalité est uniquement disponible sous Kodi Leia (18) et versions supérieures.

Prérequis

Installer FFMPEG

Pour installer FFMPEG afin qu’IPTV Recorder fonctionne :

Cliquez sur Extensions ==> Navigateur d’extensions ==>Installer depuis un dépôt ==> Libre ELEC Add-ons ==> Extensions Programmes ==> FFmpeg Tools

Le navigateur d’extensions

Configuration pour FFMPEG

Il faut ensuite préciser où se trouve ffmpeg.exe /storage/.kodi/addons/tools.ffmpeg-tools

.kodi est un dossier caché.

Allez sur Extensions ==> Mes extensions ==> Tout ==> IPTV Recorder ==> Configurer ==> Jobs and Rules ==> ffmpeg exe et donnez le chemin d’accès pour ffmpeg.

Afficher les fichiers cachés :

Système ==> Médias ==> Général ==> Afficher les dossiers et les fichiers cachés

Système

Configuration des chaînes TV

Configuration d’un compte 6play par exemple

Extensions ==> Catch-up TV & More ==> [flèche gauche] avec la télécommande ou le clavier ==> Paramètres de l’extension ==> Comptes

Intégration des chaînes TV

Extensions ==> Catch-up TV & More ==> [flèche gauche] avec la télécommande ou le clavier ==> Paramètres de l’extension ==> Intégration TV ==> Sélectionner les chaînes TV à activer

Si des chaînes intégrées n’apparaissent pas

Extensions ==> IPTV Manager ==> Channels ==> Refresh channels and guide now…


Configuration réseau

Durant l’installation, mon Raspberry Pi était connecté en filaire et l’adressage réseau se faisait par le DHCP de la boxe internet.

Par la suite, j’ai configuré l’accès réseau par le WIFI.

Système (la roue dentée) ==> LibreELEC ==> Connexions (choisir l’interface réseau filaire ou WIFI) ==> Choisir Connecter ou Modifier (saisir les paramètres) ==> Valider avec [OK]

On peut configurer en DHCP ou en IP fixe. Si on utilise une application comme télécommande sur un smartphone ou une tablette le mieux est d’avoir une IP fixe. Personnellement, je suis en DHCP mais ma boxe est configurée pour toujours attribuer les mêmes adresses à mes cartes réseau.

Attention !

J’ai constaté lorsque j’activais simultanément la carte réseau filaire et la carte WIFI sur le même réseau IP que l’antivirus de mon système Windows sur ce même réseau déclenchait une alerte concernant une usurpation d’adresse probable. Par la suite, j’ai vu que dans la table ARP de Windows les deux cartes s’affichaient avec la même adresse MAC. Pourtant, les deux cartes du Raspberry PI ont bien des adresses MAC différentes. Le problème n’est pas propre à Windows puisque je me suis rendu compte de la même chose sur une machine sous Linux. J’ai donc décidé de n’utiliser que la carte filaire.


Informations

Les vidéos enregistrées le sont sous special://temp ce qui correspond en fait à /storage/.kodi/Movies ou Other

Pour créer la carte SD sur mon PC sous Windows j’ai utilisé un lecteur de carte connecté en USB.

Il n’est pas possible d’enregistrer certaines émissions, je pense que cela est dû aux DRM (protections contre la copie).

J’utilise la télécommande de ma TV qui est compatible, je dispose aussi d’un clavier sans fil.

Par la suite, j’ai testé l’application Official Kodi Remote pour piloter mon media center depuis un iPad.


AirPlay

AirPlay permet de diffuser des contenus (vidéos, photos ou morceaux de musique) depuis un iPhone, un iPod, un iPad ou un Mac.

Activer AirPlay dans le média center Kodi

Pour accéder aux paramétrages d’AirPlay dans Kodi :

Système (la roue dentée) ==> Services ==> AirPlay

J’ai réussi à diffuser de la musique sur mon téléviseur depuis un iPad. Par contre, cela n’a pas fonctionné avec les vidéos. Si vous avez des informations à ce sujet, n’hésitez pas à laisser un commentaire ou à me contacter.


Réglage du volume

Si vous avez un clavier connecté au Raspberry Pi, vous pouvez régler le volume sonore avec les touches suivantes :

[F8] Activer/Désactiver le son

[-] Baisser le volume

[+] Augmenter le volume

Plus d’informations sur l’utilisation du clavier avec Kodi :

https://kodi.wiki/view/Keyboard_controls


À voir également

Pour ceux qui désirent télécharger des émissions sur la télévision de rattrapage sous Windows, vous pouvez utiliser Captvty.

Captvty sous Windows 8.1 Pro et Windows 10

Installation d’Asterisk sur un Raspberry Pi

Asterisk est un autocommutateur téléphonique privé (PABX) libre et propriétaire (publié sous double licence GPLv2 ou commerciale pour systèmes GNU/Linux. Il inclut de nombreuses fonctionnalités. Raspbx est une distribution Linux pour Raspberry Pi incluant Asterisk. FreePBX propose une interface WEB facilitant le paramétrage d’Asterisk.

Logo Asterisk

Télécharger RasPBX – Asterisk pour le Raspberry Pi

Pour télécharger la dernière image :

http://www.raspberry-asterisk.org/downloads/

J’ai téléchargé raspbx-10-10-2020.zip.

Transfert de l’image sur la carte micro SD

On télécharge une archive .zip, pour extraire l’image .img j’ai utilisé 7-Zip sous Windows (Extraire les fichiers…).

Pour transférer l’image sur la carte MicroSD j’ai utilisé balenaEtcher (sous Linux dans mon cas) :

https://www.balena.io/etcher/

On peut également utiliser Raspberry Pi Imager :

https://www.raspberrypi.org/software/

Au premier démarrage du Raspberry Pi

Sur mon réseau local, je me suis connecté au Raspberry Pi en SSH depuis un poste sous Windows avec le logiciel PuTTY (pour le moment le clavier du Raspberry Pi est en qwerty). Pour avoir l’adresse IP du Raspberry Pi, on peut scanner le réseau avec une application ou repérer l’adresse qui est affichée au démarrage du Raspberry Pi (on est en DHCP).

Login pour SSH

User : root

Password : raspberry

Pour mettre à jour le système :

raspbx-upgrade

Avant de continuer, nous devons régénérer les clés d’hôte SSH. La raison est que la distribution RasPBX que nous utilisons en contient déjà, mais celles-ci sont distribuées et donc ne sont pas aussi sécurisées.

Pour régénérer les clés d’hôte SSH, exécutez la commande suivante :

regen-hostkeys

Pour étendre la partition système à la capacité de la carte SD :

raspi-config

user :pi ==> 7 Advanced Options ==> A1 Expand Filesystem ==> [OK]

Pour que les changements soient pris en compte, on doit redémarrer le Raspberry Pi :

shutdown -r now

Configuration du fuseau horaire pour Asterisk :

configure-timezone

Configuration des paramètres régionaux

Pour voir les paramètres régionaux :

locale ou locale -a

Pour les modifier :

dpkg-reconfigure locales

J’ai sélectionné les paramètres en fr et désélectionné les choix précédemment sélectionnés.

fr_FR ISO-8859-1

fr_FR.UFT-8 UFT-8

fr_FR@euro ISO-8859-15

J’ai confirmé ensuite.

fr_FR.UFT-8 UFT-8

Pour que les modifications soient prises en compte, j’ai redémarré le Raspberry Pi :

shutdown -r now

Configuration en français du clavier (azerty)

Configurer les paramètres du clavier (non requis pour travailler avec SSH uniquement) :

dpkg-reconfigure keyboard-configuration

PC générique 105 touches (internat.) ==> Français – Français (azerty) ==> Disposition par défaut pour le clavier ==> Pas de touche «  compose »

Pour les choix (French azerty), je me suis aidé de l’article suivant :

http://www.soft-alternative.com/raspberry-pi-configurer-clavier-francais-raspbian.php

Pour que les modifications soient prises en compte, j’ai redémarré le Raspberry Pi :

shutdown -r now

Configuration de la carte réseau en IP fixe

Pour voir les paramètres des cartes réseau :

ifconfig

La carte eth0 est la carte filaire, wlan0 la carte WIFI. Mon Raspberry Pi étant connecté en filaire sur ma box, je vais mettre la carte eth0 en IP fixe (actuellement, je suis en DHCP). J’attribue une adresse IP de mon réseau local en dehors de la plage du DHCP de la box. J’ai choisi l’adresse 192.168.1.60. Le CIDR /24 correspond au masque de sous-réseau 255.255.255.0. Le routeur, c’est ma box 192.168.1.1, les DNS ma box et un serveur de Google 8.8.8.8.

On ouvre le fichier /etc/dhcpcd.conf avec nano.

nano /etc/dhcpcd.conf

Ma configuration est la suivante.

interface eth0
 static ip_address=192.168.1.60/24
 static routers=192.168.1.1
 static domain_name_servers=192.168.1.1 8.8.8.8

Pour enregistrer les modifications [CTRL]+[C] ==> [O] ==> [Entrée]

Ensuite, je redémarre le système :

shutdown -r now

Pour modifier le mot de passe root

passwd

Saisir le nouveau mot de passe puis le confirmer.


Plus d’informations sur les sites :

https://pimylifeup.com/raspberry-pi-asterisk/

http://www.raspberry-asterisk.org/documentation/


Logo FreePBX

Pour configurer Asterisk avec des softphones sur mon réseau local et réaliser des appels

Dans le tutoriel au format PDF qui suit, vous verrez la configuration d’Asterisk depuis une autre machine sur le réseau local grâce à votre navigateur et l’interface Web avec FreePBX. On voit également des exemples de configurations de softphones.

Configuration avec FreePBX


Configuration d’un trunk IAX2 avec FreePBX

Un exemple de configuration d’un trunk IAX2 (en utilisant FreePBX) qui permet d’interconnecter des Asterisk se trouvant sur des sites distants. On peut également utiliser ce protocole pour relier des Asterisk se trouvant sur le même site. C’est en cours de tests, si vous avez des informations à apporter, Contact ou vous pouvez laisser un commentaire.

Création d’un trunk IAX2 avec FreePBX


« Call Flow Control » – jour / nuit Contrôle

Tutoriel au format PDF avec la traduction du Guide de l’utilisateur du contrôle de flux d’appels « Call Flow Control ». J’ai également documenté l’installation d’un module avec FreePBX.

Guide de l’utilisateur du contrôle de flux d’appels « Call Flow Control » – jour / nuit Contrôle


Les informations utiles

Si l’on appelle le numéro *43 on accède au service d’écho qui vous permet de tester la latence.

La CLI (Command Line Interface ou console pour Asterisk) permet d’obtenir des informations depuis le Raspberry Pi ou PuTTY.

asterisk -rvvv

Quelques commandes :

pjsip list contacts
pjsip show endpoints
iax2 show peers

On peut quitter la CLI avec les commandes quit ou exit.

On peut trouver des commandes utiles sur le site suivant :

https://www.provya.net/?d=2015/06/24/08/18/10-

Affichage dynamique en Python

Le projet

J’ai travaillé sur un projet d’affichage dynamique, un diaporama sur un écran TV. Recherchant une solution peu onéreuse s’appuyant sur des logiciels libres, j’ai trouvé un script Shell pouvant être exécuté sur un Raspberry Pi sur le site suivant :

http://wiki.dane.ac-versailles.fr/

Un partage sur un réseau local héberge un diaporama réalisé avec LibreOffice Impress (.odp). Lorsque ce fichier est modifié, il est automatiquement téléchargé par le Raspberry Pi qui se trouve sur le même réseau et est affiché. Cela fonctionne très bien et actuellement dans un collège, j’ai deux Raspberry Pi pour deux écrans TV qui affichent le même diaporama. Le script Shell est lancé automatiquement aux démarrages des Raspberry Pi.

Un petit schéma de mon installation

Programme en Python

J’ai décidé de réaliser une version en Python de ce script Shell. J’ai créé deux petits programmes, le premier avec une interface graphique permettant de configurer plus facilement mon logiciel, le second permettant l’affichage du diaporama. Les difficultés étaient d’accéder au partage réseau depuis Python et d’exécuter des commandes Shell Bash.


Programme de configuration

Ce programme permet d’enregistrer dans un fichier les paramètres de configuration de mon logiciel depuis une interface graphique. Si vous êtes en groupe de travail lors des tests, enregistrez son nom en guise de nom de domaine, cela doit fonctionner.

Le programme Diapo-ini.py

!/usr/bin/env python3.7
 -- coding: utf-8 --
 from tkinter import *
 import pickle
 import os.path
 def Lancer_Diaporama():
     exec(open("./Diapo-py.py").read())
 def Enregistrer():
     serveursmb = Serveur_Entry.get()
     partagesmb = Partage_Entry.get()
     utilisateur = Utilisateur_Entry.get()
     mot_de_passe = Mot_de_passe_Entry.get()
     domaine = Domaine_Entry.get()
     fichier_diaporama = Fichier_du_diaporama_Entry.get()
 #Enregistrer mes variables sous forme d'une liste dans un fichier variables = [serveursmb, partagesmb, utilisateur, mot_de_passe, domaine, fichier_diaporama] fichierSauvegarde = open("diaporamaini","wb") pickle.dump(variables, fichierSauvegarde) fichierSauvegarde.close()
 Lecture du fichier ini
 fichierini = "diaporamaini"
 Ouverture du fichier s'il existe et récupération de la liste
 if os.path.isfile(fichierini):
     fichierSauvegarde = open(fichierini,"rb")
     variables = pickle.load(fichierSauvegarde)
     fichierSauvegarde.close()
 # Affichage d'informations print("Initialisation des variables") # Récupération des données dans les variables serveursmb = variables[0] partagesmb = variables[1] utilisateur = variables[2] mot_de_passe = variables[3] domaine = variables[4] fichier_diaporama = variables[5]
 else:
     # Le fichier n'existe pas
     print("Fichier " + fichierini + " non trouvé")
     serveursmb = partagesmb = utilisateur = mot_de_passe = domaine = fichier_diaporama = "vide"
 Fenetre = Tk() #création de la fenêtre, avec un nom de votre choix Fenetre
 Fenetre.title('Paramètres Diaporama') #Titre de la fenêtre
 Fenetre.geometry("420x170") # On définit la taille de la fenêtre
 Fenetre.resizable(width=False,height=False) #Empêcher de redimentionner la fenêtre
 Création d'un interface graphique avec grid
 Serveur_Label= Label(Fenetre, text = 'Votre serveur - Nom ou IP :') #Un label pour afficher du texte
 Serveur_Label.grid(row=0)
 Serveur_Entry= Entry(Fenetre) #On définit l'objet Entry (zone de saisie) qui porte le nom Serveur_Entry
 Serveur_Entry.insert(0, serveursmb)
 Serveur_Entry.grid(row=0,column=1,ipadx=30) # ipadx=30 pour créer 10 pixels de plus horizontalement
 Partage_Label= Label(Fenetre, text = 'Votre partage réseau :')
 Partage_Label.grid(row=1,column=0)
 Partage_Entry= Entry(Fenetre)
 Partage_Entry.insert(0, partagesmb)
 Partage_Entry.grid(row=1,column=1,ipadx=30)
 Utilisateur_Label= Label(Fenetre, text = 'Votre utilisateur :')
 Utilisateur_Label.grid(row=2,column=0)
 Utilisateur_Entry= Entry(Fenetre)
 Utilisateur_Entry.insert(0, utilisateur)
 Utilisateur_Entry.grid(row=2,column=1,ipadx=30)
 Mot_de_passe_Label= Label(Fenetre, text = 'Votre mot de passe :')
 Mot_de_passe_Label.grid(row=3,column=0)
 Mot_de_passe_Entry= Entry(Fenetre) # Saisie du mot de passe
 Mot_de_passe_Entry.insert(0, mot_de_passe)
 Mot_de_passe_Entry.grid(row=3,column=1,ipadx=30)
 Domaine_Label= Label(Fenetre, text = 'Votre nom de domaine:')
 Domaine_Label.grid(row=4,column=0)
 Domaine_Entry= Entry(Fenetre)
 Domaine_Entry.insert(0, domaine)
 Domaine_Entry.grid(row=4,column=1,ipadx=30)
 Fichier_du_diaporama_Label= Label(Fenetre, text = 'Votre fichier de diaporama :')
 Fichier_du_diaporama_Label.grid(row=5,column=0)
 Fichier_du_diaporama_Entry= Entry(Fenetre)
 Fichier_du_diaporama_Entry.insert(0, fichier_diaporama)
 Fichier_du_diaporama_Entry.grid(row=5,column=1,ipadx=30)
 Mon_bouton_Lancer_Diaporama = Button(Fenetre, text = 'Lancer le Diaporama',command = Lancer_Diaporama)
 Mon_bouton_Lancer_Diaporama.grid(row=6,column=0,ipadx=0)
 Mon_bouton_Enregistrer = Button(Fenetre, text = ' Enregistrer le fichier', command = Enregistrer)
 Mon_bouton_Enregistrer.grid(row=6,column=1,ipadx=0)
 Fenetre.mainloop() # lance la boucle principale
L’interface graphique pour la saisie des paramètres du diaporama

Programme d’affichage du diaporama

Ce programme lit le fichier de configuration pour attribuer aux variables les valeurs qui ont été enregistrées puis il affiche le diaporama. Lorsque le diaporama est modifié sur le partage réseau, il est automatiquement téléchargé et affiché.

Le programme Diapo-py.py

!/usr/bin/env python3.7
 -- coding: utf-8 --
 import pickle
 import os.path
 import smbclient
 import subprocess
 import time
 Lecture du fichier ini
 fichierini = "diaporamaini"
 Ouverture du fichier s'il existe et récupération de la liste
 if os.path.isfile(fichierini):
     fichierSauvegarde = open(fichierini,"rb")
     variables = pickle.load(fichierSauvegarde)
     fichierSauvegarde.close()
 # Affichage d'informations print("Initialisation des variables") # Récupération des données dans les variables serveursmb = variables[0] partagesmb = variables[1] utilisateur = variables[2] mot_de_passe = variables[3] domaine = variables[4] fichier_diaporama = variables[5]
 else:
     # Le fichier n'existe pas
     print("Fichier " + fichierini + " non trouvé")
 initialisation des variables
 Version_Old = "vide"
 local_path = "./" + fichier_diaporama
 smb = smbclient.SambaClient(server=serveursmb, share=partagesmb, username=utilisateur, password=mot_de_passe, domain=domaine)
 Boucle = True
 while Boucle == True:
     try:
         # Afficher des informations sur le fichier
         Version_New = smb.info(fichier_diaporama)
     except:
         Version_New = Version_Old
     if Version_New != Version_Old:
         try:
             ### On arrête l'application LibreOffice ###
             subprocess.Popen(['/bin/sh', '-c', "pkill office"])
             time.sleep(2)
             ### On supprime l'ancien fichier diaporama s'il existe ###
             if os.path.isfile(local_path):
                 os.remove(local_path)
             ### Téléchargement du nouveau fichier ###
             smb.download(fichier_diaporama, local_path)
             time.sleep(2)
             ### Affichage du diaporama ###
             Affichage = subprocess.Popen(["libreoffice", "--norestore", "--show", fichier_diaporama], shell=False)
             Version_Old = Version_New
         except:
             print("Erreur lors du téléchargement et de l'affichage du diaporama")
     else:
         time.sleep(20) # Pas de mise à jour - On attend 20 secondes avant de revérifier

Prérequis pour l’installation du programme en Python sur le Raspberry Pi

Version de Python installée

python3 --version
 Python 3.7.3

Pour l’interface graphique avec Tkinter

Le paquet python3-tk doit être présent sinon on l’installe :

sudo apt-get install python3-tk

Accès au partage Samba

Vous devez disposer d’un partage réseau Windows ou sous Linux (Samba) avec les login/mot de passe pour y avoir accès.

Pour pouvoir accéder au partage réseau depuis le Raspberry Pi vous devez installer le paquet smbclient (client samba) sous Linux :

sudo apt-get install smbclient

En cas de problème, il peut être utile de vérifier la connexion au partage depuis l’explorateur de fichiers du Raspberry Pi :

smb://ip_du_serveur/nom_du_partage

Installer la bibliothèque pysmbclient (client samba) pour l’accès au partage réseau depuis Python :

pip3 install pysmbclient

Plus d’informations :

https://pypi.org/project/PySmbClient/

Les droits sur les fichiers

Les deux programmes doivent être exécutables et je réduis les droits au seul utilisateur pi :

chmod 700 nom_du_fichier

Pour le fichier diaporamaini, droits en lecture et en écriture au seul utilisateur :

chmod 600 diaporamaini

Lancer et arrêter les programmes

Pour lancer les programmes depuis un terminal :

./nom_du_fichier

Pour arrêter la diffusion du diaporama depuis le Raspberry Pi :

[Alt] + [F4] Pour fermer LibreOffice Impress.

[Ctrl] + [C] Pour stopper l’exécution du programme dans le terminal.

Par la suite, on pourra automatiser le lancement du programme qui affiche le diaporama au démarrage du Raspberry Pi.


Et maintenant…

Je ne suis pas programmeur, j’ai une formation de technicien d’assistance informatique et une autre de technicien réseau. Vous avez peut-être des idées pour améliorer ce programme et ajouter de nouvelles fonctionnalités. Si vous êtes intéressé, n’hésitez pas. Vous pouvez laisser des commentaires ou me contacter pour faire évoluer le code.

Programmes mis à jour le 21/12/2020

Dominique Renaudeau

Lecture d’une vidéo en boucle sur un Raspberry Pi

Raspberry Pi sous Raspbian GNU/Linux 9.13 (stretch).

On m’a demandé la lecture d’une vidéo en boucle sur un écran TV depuis un Raspberry Pi 3. Habituellement, j’utilise ce matériel pour un affichage dynamique (Diaporama). Je pensais utiliser le logiciel VLC, mais il n’affichait pas correctement la vidéo malgré plusieurs tentatives de réencodages avec le logiciel Handbrake. À la recherche d’une solution, j’ai testé le logiciel Omxplayer et cela a fonctionné.

Pour lancer l’affichage de la vidéo en boucle (depuis le dossier où se trouve la vidéo, dans un terminal) :

omxplayer --loop fichier_vidéo

Pour stopper l’affichage de la vidéo [Alt] + [F4] ou [Q].

Le logiciel Omxplayer était déjà installé sur le Raspberry Pi, on peut vérifier cela avec la commande :

dpkg -l omxplayer
 Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
 | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=atte
 |/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
 ||/ Nom            Version               Architecture Description
 +++-==============-=====================-============-==========================
 ii  omxplayer      20190723+gitf543a0d-1 armhf        Command line media player
 lines 1-6/6 (END)

Tapez [Q] pour reprendre la main.

Si comme pour moi votre fichier vidéo se trouve sur une clé USB vous retrouverez celle-ci dans le dossier /media/pi/.

Configuration du proxy ou serveur mandataire (Raspberry Pi sous Raspbian)

Sur un Raspberry Pi sous Raspbian, la configuration du proxy peut se faire en ajoutant à la fin du fichier /home/pi/.profile ces caractéristiques.

On peut éditer le fichier avec nano :

sudo nano /home/pi/.profile

Par exemple, pour un proxy en 172.20.1.1:3128, ajouter à la fin du fichier :

export http_proxy="http://172.20.1.1:3128"

export https_proxy="http://172.20.1.1:3128"

export no_proxy="localhost,127.0.0.1,172.20.0.0/16"

Installez le paquet nano si besoin.

J’ai configuré le proxy dans le cadre d’un projet d’affichage dynamique géré par un Raspberry Pi.

Sources :

http://wiki.dane.ac-versailles.fr/

 

 

Augmenter la résolution avec Raspbian Pixel quand on est connecté à l’aide VNC Viewer

Raspbian installé sur le Raspberry PI 2 : 2017-03-02-raspbian-jessie

J’ai installé Raspbian avec l’interface graphique Pixel sur un Raspberry PI 2. J’ai activé VNC (Menu Préférences ==> Configuration du Raspberry Pi==> Onglet Interfaces) pour la prise en main en graphique depuis mon réseau local. J’ai alors constaté que la résolution proposée par défaut était insuffisante.

J’ai trouvé la solution suivante :

Dans le fichier /boot/config.txt

Décommenter les lignes qui suivent (supprimer les #) :

framebuffer_width=1280

framebuffer_height=720

Si vous utilisez un pare-feu, autorisez le port 5900 en TCP (exemple avec UFW pour le poste ayant l’IP 192.168.1.55 sur le réseau local) :

sudo ufw allow proto tcp from 192.168.1.55 to any port 5900

Raspberry PI 2 Raspbian et Samba.

J’ai décidé de créé un partage Samba sur mon Raspberry PI 2 pour y avoir accès depuis mon PC sous Windows.

Installation de Samba depuis un terminal :

sudo apt-get install samba

Pour sauvegarder le fichier original de configuration de Samba depuis un terminal administrateur :

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

Pour ensuite éditer un nouveau fichier de configuration avec Nano :

sudo nano /etc/samba/smb.conf

Mon fichier de configuration de Samba sous /etc/samba/smb.conf

[global]
        netbios name = SERVEUR
        server string = Serveur WORKGROUP
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        idmap config * : backend = tdb

[homes]
        comment = Home Directories
        read only = No
        create mask = 0755

[Partage]
        comment = Input
        path = /samba/partage
        force group = users
        read only = No
        guest ok = Yes

On crée le répertoire partagé (pas les répertoires utilisateurs, ils existent déjà, ce sont ceux dans /home). À noter l’option -p qui permet de créer à la fois un répertoire et un sous-répertoire de ce répertoire :

sudo mkdir -p /samba/partage

On donne ensuite les droits en écriture à tout le monde pour partage :

sudo  chmod 777 /samba/partage

Une fois Samba installé sur mon Raspberry PI 2 sous Raspbian, je constate que la commande smbpasswd qui sert à créé les utilisateurs Samba ne fonctionne pas.

En fait, il faut installer au préalable le paquet samba-common-bin à l’aide de la commande suivante :

sudo apt-get install samba-common-bin

Ensuite, on peut créer l’utilisateur Samba (qui doit déjà exister sous Linux). La commande suivante crée l’utilisateur pi (utilisateur par défaut sous Raspbian) :

sudo smbpasswd -a pi

L’installation de ce paquet permet également l’utilisation de la commande testparm :

pi@raspberrypi /etc/samba $ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[Partage]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

Pour redémarrer Samba et prendre en compte toutes les modifications.

sudo /etc/init.d/samba restart

Les processus de Samba

Il n’y a pas de processus samba qui tourne en tâche de fond pour le serveur, mais des processus : smbd qui s’occupe des partages et de l’authentification, et nmbd qui s’occupe de la résolution des noms NetBIOS.

Exemples en lignes de commande pour lister les processus Samba :

ps aux | grep smbdps 

ou

ps -ale | grep -e TTY -e smbd

Les ports liés au partage de fichiers par les protocoles SMB et CIFS

135 TCP et UDP Localisateur de services RPC

137 TCP et UDP NetBIOS Name Service (nbname)

138 UDP NetBIOS Datagram Service (nbdatagram)

139 TCP NetBIOS Session Service (nbsession)

445 TCP et UDP Service de dossiers partagés Windows


Plus d’informations sur l’installation de Samba sous Debian :

Partages avec Samba sous Debian 7

Connexion au bureau à distance Windows depuis un Linux.

Le tutoriel suivant au format PDF explique comment connecter un Raspbian (dérivé de Debian pour Raspberry) à un serveur Windows 2012 R2 avec le bureau à distance Microsoft et rdesktop sous Linux.

J’ai également testé la connexion avec un Xubuntu. La procédure peut être adaptée à d’autre environnement Windows.

L’intérêt initial étant d’utiliser des Raspberry comme des clients légers.

Bureau à distance Windows depuis Linux


Rdesktop semblant poser des problèmes avec l’affichage de la souris dans la configuration Raspbian/serveur Windows 2012, on peut dans ce cas utiliser à sa place FreeRDP. On installe ce dernier par une des commandes suivantes :

apt-get install freerdp ou aptitude install freerdp

Pour le tester ensuite j’ai utilisé dans mon cas la syntaxe suivante :

xfreerdp -f -u Administrateur 192.168.15.60

-f pour l’affichage en plein écran, -u pour préciser l’utilisateur du Windows, enfin l’IP de votre serveur.

Reste ensuite à saisir le mot de passe de votre utilisateur.