Trucs et astuces pour l'Acer C720P :
Accélérer yum (gestionnaire de paquets)
$ su -c 'yum install yum-plugin-fastestmirror'
Fedy
Fedy (anciennement Fedora Utils) est un logiciel qui permet d'installer des logiciels assez basiques (codecs, fonts, etc.) et de modifier facilement le système.
Ressource :
http://satya164.github.io/fedy/
Installation :
su -c "curl http://satya164.github.io/fedy/fedy-installer -o fedy-installer && chmod +x fedy-installer && ./fedy-installer"
Je conseille :
Essential tweaks & tasks ->
* Add colors to Terminal (des couleurs pour le terminal)
* Install Microsoft fonts (les fonts de base de microsoft car on les rencontre souvent)
* Set up SSD I/O scheduler (améliore les performances du SSD)
* Improve font rendering (meilleur affichage des polices à l'écran)
* Install multimedia codecs (prise en charge de la plus part des codecs multimédia)
* Install Adobe flash plugin (pour les sites web avec flash comme youtube etc.)
* Configure RPM Fusion repositories (offre plus de logiciels à installer)
Améliorer les polices
Ressource :
http://evotux.com/how-to-improve-font-rendering-in-fedora-20/
Assurez vous d'avoir coché les deux options :
* Install Microsoft fonts (les fonts de base de microsoft car on les rencontre souvent)
* Improve font rendering (meilleur affichage des polices à l'écran)
Dans Fedy ci-dessus.
Téléchargez la police Liberation version 2 (ttf) :
https://fedorahosted.org/liberation-fonts/
Extraire tous les fichiers *.ttf de l'archive dans ~/.fonts
Installez gnome-tweak-tool :
$ su -c 'yum install gnome-tweak-tool'
Dans l'onglet "Polices" :
Window Titles : Cantarell Bold | 11
Interface : Cantarell | 11
Documents : Liberation Sans | 11
Monospace : Liberation Mono | 11
Hinting : Slight
Antialiasing : Rgba
Créer le fichier ~/.Xresources :
Xft.lcdfilter: lcddefault
Rebooter.
Pour vérifier la configuration :
$ xrdb -query
Xft.antialias: 1
Xft.autohint: 0
Xft.dpi: 96
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
Agrandir les polices (vraiment plus gros...)
Si vous trouvez que la taille de ce qui est écrit à l'écran est trop petit voici une recette pour rendre le texte plus lisible :
Notre écran a 1366x768 pixels pour une diagonale de 29,46cm, soit 135,09 PPI.
Or le réglage par défaut est pour 96PPI. Corrigeons cela en agrandissant d'un facteur 1,4.
Pour Gnome :
Installer dconf-editor afin de modifier finement Gnome
$ su -c 'yum install dconf-editor'
Puis on lance ce logiciel :
$ dconf-editor
On édite cette clé :
org.gnome.desktop.interface -> text-scaling-factor : 1.4
Pour Firefox :
On ouvre l'onglet about:config et on cherche "layout.css.devPixelsPerPx", on met 1.4.
Mettre l'interface de LibreOffice en français
$ su -c 'yum install libreoffice-langpack-fr'
Configurer le SSD (avec le système de fichier ext4)
Ressource :
http://doc.fedora-fr.org/wiki/Les_SSD_sous_fedora
Vu le peu de place sur ce SSD de base (bien qu'on puisse le remplacer par un plus gros), je n'ai mis qu'une seule partition root.
Ce SSD inclut le support de TRIM :
$ su -c 'hdparm -I /dev/sda | grep TRIM'
Mot de passe :
* Data Set Management TRIM supported (limit 8 blocks)
On va donc ajouter la commande TRIM pour effacer réellement les blocs mémoires supprimés sur le SSD (avec l'option "discard") et supprimer le marquage de la date de lecture du système de fichier ext4 (grâce à l'option noatim, attention toutefois, noatime peut avoir des conséquences sur certains logiciels...)
On édite, en root, le fichier /etc/fstab et on ajoute "noatime,discard," après l'option defaults. Et on ajoute "discard à /boot. Sur mon système ça donne :
/dev/mapper/fedora_xxxxx-root / ext4 defaults,noatime,discard,x-systemd.device-timeout=0 1 1
UUID=xxxx-xxxx-xxxx-xxxx-xxxx /boot ext4 defaults,discard 1 2
On ne le fait pas pour swap qui gère tout seul TRIM par défaut.
Comme j'ai encrypté la totalité du disque avec l'installeur anaconda, mon système utilise lvm et luks. Il convient de propager TRIM dans ces deux systèmes. ATTENTION : cela affaibli la sécurité du chiffrement (probablement car la partie "trimée" n'apparait plus comme faisant partie du système chiffré).
On configure lvm aussi (je crois qu'il est utilisé par l'installeur anaconda de fedora 20, mais ça ne fera pas de mal de toute façon) :
On edite, en root, le fichier /etc/lvm/lvm.conf :
ligne 218
issue_discards = 1
On édite le fichier /etc/crypttab, et on y ajoute l'option "discard" :
luks-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx UUID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx none discard
Comme tout le disque est encrypté sur le portable (toute la partition root, donc aussi /etc), il faut propager la configuration au système de démmarage :
su -c 'dracut -f'
On peut vérifier que la propagation a été faite avec :
$ su -c 'lsinitrd | grep crypttab'
Mot de passe :
-rw-rw-r-- 1 root root 110 Dec 30 10:00 etc/crypttab
On reboot.
On lance TRIM à la main :
$ su -c 'fstrim -v /'
/ : 20,3 GiB (21781516288 octets) taillés
Pour aller plus loin :
On peut déterminer quels sont les logiciels qui utilisent le plus le SSD avec cette commande (root) (on sort les résultats pas ecriture sur le disque)
# iotop -oPa
Dans mon cas "systemd-journald" (le journal système de systemd) écrit fréquemment sur le SSD. Provoque un conflit avec SELinuc, cf.
Bugzilla #1035421
On va donc lui demander d'écrire en RAM et le limiter à 10M :
/etc/systemd/journald.conf
[Journal]
Storage=volatile
#Compress=yes
#Seal=yes
#SplitMode=login
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
RuntimeMaxUse=10M
Augmenter la performance perçue au détriment de la performance réelle (swappiness)
Référence :
Expication sur la performance perçue en relation avec swappiness
Nous allons demander au système deux choses : éviter au maximum d'utiliser le cache du swap et s'il en a besoin de donner la priorité aux logiciels sur les données. Ainsi, en cas de surcharge de la mémoire, le système devrait être plus réactif même si son traitement des données sera parfois plus lent.
Pour connaitre la valeur actuelle de swappiness et de vfs_cache_pressure :
$ cat /proc/sys/vm/swappiness
60
$ cat /proc/sys/vm/vfs_cache_pressure
100
Editer en root /etc/sysctl.d/99-sysctl.conf et y ajouter :
vm.swappiness=1
vm.vfs_cache_pressure=50
Rendre l'apparence de Firefox en accord avec celle de Gnome et bloquer les publicités
C'est peut-être fait par défaut, je ne sais plus...
Installer ces extensions/thèemes :
Thème Gnome pour Firefox
Cache la barre de titre quand Firefox est maximisé
AdBlockEdge : bloque les publicités, trackers des réseaux sociaux etc. Configurable.
Memory Restrat : Contrôle la RAM utilisée par Firefox et permet un redémmarrage par un bouton quand la limité est dépassée (500 Mo par défaut)
Adapter les couleurs de l'écran au cycle jour/nuit
La nuit en particulier, l'écran peut "piquer" un peu les yeux. Le logiciel Redshift change la couleur de l'écran en suivant le cycle jour/nuit.
$ su -c 'yum install redshift'
Adaptez ce fichier avec vos coordonées GPS (la tour Eiffel est en exemple) et copiez ce fichier de config dans ~/.config/redshift.conf :
; Global settings
[redshift]
temp-day=6500K
temp-night=5000
transition=1
;gamma=0.8:0.7:0.8
gamma=1.000:1.000:1.000
;location-provider=geoclue
location-provider=manual
adjustment-method=vidmode
;brightness=1.0:0.5
; The location provider and adjustment method settings
; are in their own sections.
; This is an example lat long for Eiffel tower, Paris, France
[manual]
lat=48.858844
lon=2.294351
; In this example screen 1 is adjusted by vidmode. Note
; that the numbering starts from 0, so this is actually
; the second screen.
;[vidmode]
;screen=1
On le place dans les choses à lancer au début de la session :
$ gnome-session-properties
Ajouter une entrée "Redshift" :
Nom : Redshift
Commande : /usr/bin/redshift
Commentaire: Adapte la couleur de l'écran au cycle jour/nuit.
Mettre le profile/cache du navigateur internet en RAM (Firefox, Chromium...) Provoque un conflit avec SELinux cf.
Bugzilla #1047275
Ressource :
https://wiki.archlinux.org/index.php/Profile-sync-daemon
Il y a deux avantages à cette opération :
* Moins d'accès au SSD
* Le navigateur sera plus rapide
Désavantage : utilise plus de RAM
su -c 'yum install profile-sync-daemon'
On edite le fichier /etc/psd.conf (en root) et on ajoute le nom de l'utilisateur.
# List users separated by spaces whose browser(s) profile(s) will get symlinked
# and sync'ed to tmpfs.
# Do NOT list a user twice!
USERS="nom_d_utilisateur"
On ferme le navigateur et on lance le service :
su -c 'systemctl enable psd.service psd-resync.service'
su -c 'systemctl start psd.service psd-resync.service'
Pour voir si le service est lancé et ce qu'il fait :
$ profile-sync-daemon parse
Profile-sync-daemon v5.44 on Fedora release 20 (Heisenbug).
Systemd service is currently active.
Systemd resync service is currently active.
Psd will manage the following per /etc/psd.conf settings:
browser/psname: firefox/firefox
owner/group id: UTILISATEUR/1000
sync target: /home/UTILISATEUR/.mozilla/firefox/pov6ob9m.default
tmpfs dir: /tmp/UTILISATEUR-firefox-pov6ob9m.default
profile size: 31M
Tuer Tracker
Ressource :
https://bugzilla.redhat.com/show_bug.cgi?id=747689#c24
Tracker utilise beaucoup de ressource CPU et beaucoup de place sur le cache du home (1Gb sur le portable!)
Le supprimer est compliqué car il est en dépendance sur des logiciels comme documents et totem...
On va donc le tuer à chaque démarrage :
Dans ~/.startup/start.sh, on ajoute à la fin :
# Kill Tracker
sleep 10
[ -e /usr/bin/tracker-control ] && [ -x /usr/bin/tracker-control ] && /usr/bin/tracker-control -r > /dev/null
Malheureusement, Tracker revient quand on écrit un fichier sur le SSD (et peut-être pour d'autres choses). Au moins, en le tuant à chaque session, on évite qu'il mange la place libre du SSD.
On va le configurer pour qu'il ne fasse rien :
$ su -c 'yum install tracker-ui-tools'
../..
$ tracker-preferences
On désactive tout ce qu'on peut... J'ai aussi mis "*" dans les motifs de fichiers à ne pas indexer !
Les extensions de Gnome Shell
On peut modifier l'interface de Gnome facilement grâce au site web :
https://extensions.gnome.org/
A vous de voir ce qui vous interesse... Tout se fait dans le navigateur web.
Lecture vidéo avec décodage GPU
Pour totem :
Installer le plugin gstreamer pour vaapi :
$ su -c 'yum install gstreamer1-vaapi'
Sur un flux vidéo HD, l'utilisation du CPU est divisée par au moins 2, presque par 3.
Autres configurations d'accélérations matérielles qui n'ont pas encore fonctionnées :
Pour Flash (youtube...), avec le dépôt rpmfusion-free :
$ su -c 'yum install libvdpau-va-gl'
[/s]
Créer le fichier ~/.local/share/applications/firefox.desktop
[Desktop Entry]
Name=Firefox-VAAPI
GenericName=Web Browser
Exec=env VDPAU_DRIVER=va_gl firefox %u
Icon=firefox
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
[/s]
Pour tester : aller sur youtube, faire un clic droit sur une vidéo -> Statistiques Avancées : Vérifier qu'il y a "accelerated video".
Avec VLC, il n'y a pas d'accélération matérielle. Pour l'avoir il faut installer cette librairie :
$ su -c 'yum install libva-intel-driver' (dépot RPMfusion) -> VLC CRASH SOUVENT... A ne pas faire !
Eviter le "tearing"
Le tearing s'observe lors de mouvement verticaux dans une vidéo : l'image est comme coupée.
Pour éviter le tearing, passer la méthode d'accélération du pilote intel en sna :
Pour cela, créer le fichier "/etc/X11/xorg.conf.d/20-intel.conf"
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"
EndSection
Ceci permet aussi à Totem de parfois détecter l'entrelacement et de le corriger dans les vidéos.
Pour vérifier quelle méthode d'accélération est utilisée (uxa ou sna) :
$ cat /var/log/Xorg.0.log | grep -ie uxa -ie sna
Cependant, une fois dans cette configuration, c'est Gnome qui saccade. Afin d'améliorer un peu les choses, on peut mettre ceci dans le fichier "/etc/environment" :
CLUTTER_PAINT=disable-clipped-redraws:disable-culling
CLUTTER_VBLANK=True
Conky (diminue l'autonomie !)
Surveille le CPU/la RAM/le SSD/le WIFI. Francisé.
Mise à jour d'une seconde quand le portable est sur le secteur et toutes les 10 secondes quand il est sur batterie.
Dérivé de
seamod
Créer le dossier ~/.conky
A l'intérieur, mettre :
Le fichier "conkyrc_seamod"
#==============================================================================
# conkyrc_seamod
# Date : 05/02/2012
# Author : SeaJey
# Version : v0.1
# License : Distributed under the terms of GNU GPL version 2 or later
#
# This version is a modification of conkyrc_lunatico wich is modification of conkyrc_orange
#
# conkyrc_orange: http://gnome-look.org/content/show.php?content=137503&forumpage=0
# conkyrc_lunatico: http://gnome-look.org/content/show.php?content=142884
#==============================================================================
background yes
update_interval 1
update_interval_on_battery 10
cpu_avg_samples 1
net_avg_samples 1
temperature_unit celsius
double_buffer yes
no_buffers yes
text_buffer_size 2048
gap_x 30
gap_y 70
minimum_size 300 900
maximum_width 350
own_window yes
own_window_type override
own_window_transparent yes
own_window_argb_visual yes
own_window_type normal
own_window_class conky-semi
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
alignment tr
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
override_utf8_locale yes
use_xft yes
xftfont caviar dreams:size=10
xftalpha 0.5
uppercase no
# Defining colors
default_color FFFFFF
# Shades of Gray
color1 DDDDDD
color2 AAAAAA
color3 888888
# Orange
# color4 EF5A29
color4 FD00FF
# Green
color5 77B753
# Loading lua script for drawning rings
lua_load ~/.conky/seamod_rings.lua
lua_draw_hook_post main
## System information using conky capabilities
# Header with base system info
TEXT
${font Ubuntu:size=10,weight:bold}${color4}SYSTÈME ${hr 2}
${offset 15}${font Ubuntu:size=10,weight:normal}${color1}$sysname $kernel
${offset 15}${font Ubuntu:size=10,weight:normal}${color1}$nodename
${offset 15}${font Ubuntu:size=10,weight:normal}${color1}Durée de fonctionnement : $uptime
# Showing CPU Graph
${voffset 20}
${offset 120}${cpugraph 40,183 666666 666666}${voffset -25}
${offset 90}${font Ubuntu:size=10,weight:bold}${color5}CPU
# Showing TOP 5 CPU-consumers
${offset 105}${font Ubuntu:size=10,weight:normal}${color4}${top name 1}${alignr}${top cpu 1}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color1}${top name 2}${alignr}${top cpu 2}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color2}${top name 3}${alignr}${top cpu 3}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color3}${top name 4}${alignr}${top cpu 4}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color3}${top name 5}${alignr}${top cpu 5}%
#Showing memory part with TOP 5
${voffset 40}
${offset 90}${font Ubuntu:size=10,weight:bold}${color5}RAM
${offset 105}${font Ubuntu:size=10,weight:normal}${color4}${top_mem name 1}${alignr}${top_mem mem 1}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color1}${top_mem name 2}${alignr}${top_mem mem 2}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color2}${top_mem name 3}${alignr}${top_mem mem 3}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color3}${top_mem name 4}${alignr}${top_mem mem 4}%
${offset 105}${font Ubuntu:size=10,weight:normal}${color3}${top_mem name 4}${alignr}${top_mem mem 5}%
# Showing disk partitions: root, home and Data
${voffset 28}
${offset 90}${font Ubuntu:size=10,weight:bold}${color5}SSD
${offset 120}${diskiograph 33,183 666666 666666}${voffset -30}
${voffset 20}
${offset 15}${font Ubuntu:size=9,weight:bold}${color1}Libre : ${font Ubuntu:size=9,weight:normal}${fs_free /}${alignr}${font Ubuntu:size=9,weight:bold}Utilisé : ${font Ubuntu:size=9,weight:normal}${fs_used /}
#${offset 15}${font Ubuntu:size=9,weight:bold}${color1}Free: ${font Ubuntu:size=9,weight:normal}${fs_free /home}${alignr}${font #Ubuntu:size=9,weight:bold}Used: ${font Ubuntu:size=9,weight:normal}${fs_used /home}
#${offset 15}${font Ubuntu:size=9,weight:bold}${color1}Free: ${font Ubuntu:size=9,weight:normal}${fs_free /media/Data}${alignr}${font #Ubuntu:size=9,weight:bold}Used: ${font Ubuntu:size=9,weight:normal}${fs_used /media/Data}
# Network data (my desktop have only LAN). ETHERNET ring is mostly useless but looks pretty, main info is in the graphs
#${voffset 43}
${offset 90}${font Ubuntu:size=10,weight:bold}${color5}WIFI
#${voffset 40}
${offset 15}${color1}${font Ubuntu:size=9,weight:bold}Montant : ${alignr}${font Ubuntu:size=9,weight:normal}$color2${upspeed wlp1s0} / ${totalup}
${offset 15}${upspeedgraph wlp1s0 40,285 4B1B0C FF5C2B 100 -l}
${offset 15}${color1}${font Ubuntu:size=9,weight:bold}Descendant : ${alignr}${font Ubuntu:size=9,weight:normal}$color2${downspeed wlp1s0} / ${totaldown}
${offset 15}${downspeedgraph wlp1s0 40,285 324D23 77B753 100 -l}
${color4}${hr 2}
Le fichier "seamod_rings.lua" :
--==============================================================================
-- seamod_rings.lua
--
-- Date : 05/02/2012
-- Author : SeaJey
-- Version : v0.1
-- License : Distributed under the terms of GNU GPL version 2 or later
--
-- This version is a modification of lunatico_rings.lua wich is modification of conky_orange.lua
--
-- conky_orange.lua: http://gnome-look.org/content/show.php?content=137503&forumpage=0
-- lunatico_rings.lua: http://gnome-look.org/content/show.php?content=142884
--==============================================================================
require 'cairo'
--------------------------------------------------------------------------------
-- gauge DATA
gauge = {
{
name='cpu', arg='cpu0', max_value=100,
x=70, y=130,
graph_radius=54,
graph_thickness=5,
graph_start_angle=180,
graph_unit_angle=2.7, graph_unit_thickness=2.7,
graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
hand_fg_colour=0xFD00FF, hand_fg_alpha=1.0,
txt_radius=64,
txt_weight=0, txt_size=9.0,
txt_fg_colour=0xFD00FF, txt_fg_alpha=1.0,
graduation_radius=28,
graduation_thickness=0, graduation_mark_thickness=1,
graduation_unit_angle=27,
graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
caption='',
caption_weight=1, caption_size=9.0,
caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
},
{
name='cpu', arg='cpu1', max_value=100,
x=70, y=130,
graph_radius=48,
graph_thickness=5,
graph_start_angle=180,
graph_unit_angle=2.7, graph_unit_thickness=2.7,
graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
hand_fg_colour=0xFD00FF, hand_fg_alpha=1.0,
txt_radius=40,
txt_weight=0, txt_size=9.0,
txt_fg_colour=0xFD00FF, txt_fg_alpha=1.0,
graduation_radius=28,
graduation_thickness=0, graduation_mark_thickness=1,
graduation_unit_angle=27,
graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
caption='',
caption_weight=1, caption_size=9.0,
caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
},
{
name='memperc', arg='', max_value=100,
x=70, y=280,
graph_radius=54,
graph_thickness=10,
graph_start_angle=180,
graph_unit_angle=2.7, graph_unit_thickness=2.7,
graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
hand_fg_colour=0xFD00FF, hand_fg_alpha=1.0,
txt_radius=42,
txt_weight=0, txt_size=9.0,
txt_fg_colour=0xFD00FF, txt_fg_alpha=1.0,
graduation_radius=23,
graduation_thickness=0, graduation_mark_thickness=2,
graduation_unit_angle=27,
graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.5,
caption='',
caption_weight=1, caption_size=10.0,
caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3,
},
{
name='fs_used_perc', arg='/', max_value=100,
x=70, y=420,
graph_radius=30,
graph_thickness=7,
graph_start_angle=180,
graph_unit_angle=2.7, graph_unit_thickness=2.7,
graph_bg_colour=0xffffff, graph_bg_alpha=0.1,
graph_fg_colour=0xFFFFFF, graph_fg_alpha=0.3,
hand_fg_colour=0xFD00FF, hand_fg_alpha=1.0,
txt_radius=22,
txt_weight=0, txt_size=9.0,
txt_fg_colour=0xFD00FF, txt_fg_alpha=1.0,
graduation_radius=23,
graduation_thickness=0, graduation_mark_thickness=2,
graduation_unit_angle=27,
graduation_fg_colour=0xFFFFFF, graduation_fg_alpha=0.3,
caption='Root',
caption_weight=1, caption_size=12.0,
caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.5,
},
}
-------------------------------------------------------------------------------
-- rgb_to_r_g_b
-- converts color in hexa to decimal
--
function rgb_to_r_g_b(colour, alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
-------------------------------------------------------------------------------
-- angle_to_position
-- convert degree to rad and rotate (0 degree is top/north)
--
function angle_to_position(start_angle, current_angle)
local pos = current_angle + start_angle
return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) )
end
-------------------------------------------------------------------------------
-- draw_gauge_ring
-- displays gauges
--
function draw_gauge_ring(display, data, value)
local max_value = data['max_value']
local x, y = data['x'], data['y']
local graph_radius = data['graph_radius']
local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness']
local graph_start_angle = data['graph_start_angle']
local graph_unit_angle = data['graph_unit_angle']
local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha']
local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha']
local graph_end_angle = (max_value * graph_unit_angle) % 360
-- background ring
cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle))
cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha))
cairo_set_line_width(display, graph_thickness)
cairo_stroke(display)
-- arc of value
local val = value % (max_value + 1)
local start_arc = 0
local stop_arc = 0
local i = 1
while i <= val do
start_arc = (graph_unit_angle * i) - graph_unit_thickness
stop_arc = (graph_unit_angle * i)
cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha))
cairo_stroke(display)
i = i + 1
end
local angle = start_arc
-- hand
start_arc = (graph_unit_angle * val) - (graph_unit_thickness * 2)
stop_arc = (graph_unit_angle * val)
cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
cairo_set_source_rgba(display, rgb_to_r_g_b(hand_fg_colour, hand_fg_alpha))
cairo_stroke(display)
-- graduations marks
local graduation_radius = data['graduation_radius']
local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness']
local graduation_unit_angle = data['graduation_unit_angle']
local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha']
if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then
local nb_graduation = graph_end_angle / graduation_unit_angle
local i = 0
while i < nb_graduation do
cairo_set_line_width(display, graduation_thickness)
start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2)
stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2)
cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha))
cairo_stroke(display)
cairo_set_line_width(display, graph_thickness)
i = i + 1
end
end
-- text
local txt_radius = data['txt_radius']
local txt_weight, txt_size = data['txt_weight'], data['txt_size']
local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha']
local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle))
local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle))
cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight)
cairo_set_font_size (display, txt_size)
cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha))
cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3)
cairo_show_text (display, value)
cairo_stroke (display)
-- caption
local caption = data['caption']
local caption_weight, caption_size = data['caption_weight'], data['caption_size']
local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha']
local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight);
cairo_set_font_size (display, caption_size)
cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha))
cairo_move_to (display, x + tox + 5, y + toy + 1)
-- bad hack but not enough time !
if graph_start_angle < 105 then
cairo_move_to (display, x + tox - 30, y + toy + 1)
end
cairo_show_text (display, caption)
cairo_stroke (display)
end
-------------------------------------------------------------------------------
-- go_gauge_rings
-- loads data and displays gauges
--
function go_gauge_rings(display)
local function load_gauge_rings(display, data)
local str, value = '', 0
str = string.format('${%s %s}',data['name'], data['arg'])
str = conky_parse(str)
value = tonumber(str)
draw_gauge_ring(display, data, value)
end
for i in pairs(gauge) do
load_gauge_rings(display, gauge[i])
end
end
-------------------------------------------------------------------------------
-- MAIN
function conky_main()
if conky_window == nil then
return
end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
local display = cairo_create(cs)
local updates = conky_parse('${updates}')
update_num = tonumber(updates)
if update_num > 5 then
go_gauge_rings(display)
end
cairo_surface_destroy(cs)
cairo_destroy(display)
end
Le fichier "start.sh" (modifiez le "NOM_D_UTILISATEUR" et le rendre exécutable) :
#!/bin/bash
# Startup script for conky
# Glenn A. Johnson - October 16, 2011
sleep 5
conky -c "/home/NOM_D_UTILISATEUR/.conky/conkyrc_seamod" &
Pour lancer conky à chaque démarrage du portable, dans un terminal :
$ gnome-session-properties
Ajouter une entrée "Conky" (modifiez le "NOM_D_UTILISATEUR") :
Nom : Conky
Commande : sh -c /home/NOM_D_UTILISATEUR/.conky/start.sh
Faire des sauvegardes régulières de vos données
Le logiciel Deja-dup, que Gnome connaît aussi sous le nom de "Sauvegarde", est très simple d'emploi et permet de faire des sauvegardes quotidiennes et chiffrées sur un support amovible (clé USB, carte SD). Pour l'installer :
$ su -c 'yum install deja-dup'
Faire des vidéos de son bureau/ ses logiciels/ ses jeux
Voir ce tutoriel pour installer SimpleScreenRecorder :
http://forums.fedora-fr.org/viewtopic.php?id=61583
Regarder la TV avec la freebox (multiposte)
Dans firewall-config (nommé "Pare-feu" dans Gnome) :
Configuration : Permanent
Zone -> Public -> Règles riches
Entrer ces 2 règles.
Règle 1 :
Famille : ipv4
v Element : protocol | udp
v Action accept
Destination : 212.27.38.253
Règle 2 :
Famille : ipv4
v Element : protocol | udp
v Action accept
Source : 212.27.38.253
Et enfin dans le menu :
Options -> Recharger FirewallD
Enfin lancez totem comme cela :
totem 'http://mafreebox.freebox.fr/freeboxtv/playlist.m3u'
Il y a un bug dans gstreamer, donc dans totem : le désentrelacement automatique ne marche pas toujours. Rapport de bug :
https://bugzilla.gnome.org/show_bug.cgi?id=724714
Pour avoir un lanceur dans Gome Shell, on place ce fichier "tv-freebox.desktop" dans "~/.local/share/applications". Vous pouvez changer la dernière ligne pour une image dans votre machine (p.e. /home/xxx/logo.jpg).
[Desktop Entry]
Comment=TV freebox
Terminal=false
Name=TV freebox
Exec=totem 'http://mafreebox.freebox.fr/freeboxtv/playlist.m3u'
Type=Application
Icon=gnome-panel-launcher
Si besoin, voici comment débuger totem (de 1 à 9) :
$ GST_DEBUG=*:1 totem
Comme il est difficile de changer de chaine (il faut semble-t-il attendre que le flux se termine pour pouvoir en changer), voici comment lancer directement une chaine :
On télécharge la playlist :
$ wget http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
On regarde le flux qui nous intéresse, par exemple Nolife HD et on crée un lanceur avec l'URL rtps :
[Desktop Entry]
Comment=TV Nolife HD
Terminal=false
Name=TV Nolife HD
Exec=totem 'rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=658&flavour=hd'
Type=Application
Icon=/home/xxx/Images/nolife.png
Ecouter une webradio
On peut passer par firefox et flash ce qui est très lourd, utiliser rhythmbox ou totem mais c'est un peu lourd. On peut aussi utiliser gstreamer directement en terminal ce qui est plus léger (mais on perd les controles de volumes etc.)
Exemple avec
Radio Nova :
Rhythmbox
$ rhythmbox http://broadcast.infomaniak.net/radionova-high.mp3
Totem
$ totem http://broadcast.infomaniak.net/radionova-high.mp3
Gstreamer
$ gst-launch-1.0 playbin uri=http://broadcast.infomaniak.net/radionova-high.mp3
Launcher à mettre dans ~/.local/share/applications, nommez le "Radio Nova.desktop" et changez la dernière ligne pour une icone sur votre machine.
[Desktop Entry]
Comment=Radio Nova
Terminal=true
Name=Radio Nova
Exec=gst-launch-1.0 playbin uri=http://broadcast.infomaniak.net/radionova-high.mp3
Type=Application
Icon=/home/xxxxxx/Images/logo-radio-nova.jpg
Récupérer de la mémoire vive indumment prise par Gnome Shell
Il semble que Gnome Shell grignote de la mémoire au fur et à mesure de son utilisation. Il est aussi parmi les processus qui utilisent le plus de mémoire vive.
Une astuce pour récupérer cette mémoire est de le relancer :
alt + F2(->)
On entre "r", puis on presse Entrée.
Freebox : utiliser le disque dur
un petit tips pour les utilisateurs de freebox qui veulent monter leur disque à l'allumage :
Créer un dossier pour monter la freebox :
su -c 'mkdir /mnt/freebox'
ajouter le code suivante à la fin du fichier /etc/rc.d/rc.local :
# On monte le disque si on est à la maison
sleep 60
iwconfig wlp1s0 > /tmp/testscript.txt
grep -i ESSID /tmp/testscript.txt
if [ "$?" = "0" ]; then #On agit que si l'on est à la maison
mount -t cifs //mafreebox.freebox.fr/Disque\ dur /mnt/freebox/ -o user=freebox,password=password,uid=1000,gid=1000,rw > /tmp/logdesavaut.txt
fi
où vous remplacez ESSID par l'essid de votre réseau WIFI.
Pour le connaitre vous pouvez lancer la commande
$ iwconfig
Je peux ainsi avec un petit cron sur la commande rsync enregistrer les modifications d'une journée de travail au bureau sans avoir rien d'autre à faire que d'allumer l'ordinateur à la maison.
Contribué par : fedboreve