[smplayer] refuse de lire certains médias (contourné)

Applications, problèmes de configuration réseau
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (contourné)

Message par Skwad »

Je sais qu'il ne faut pas modifier ce fichier. C'était un test pour obtenir des indices !
J'ai remis le fichier d'origine et je n'ai plus les messages d'erreur.

Après 3 redémarrages je viens donner les retours (l'ordre des commandes n'est pas anodin :wink: ):

Code : Tout sélectionner

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE=
LC_NUMERIC=
LC_TIME=
LC_COLLATE=
LC_MONETARY=
LC_MESSAGES=
LC_PAPER=
LC_NAME=
LC_ADDRESS=
LC_TELEPHONE=
LC_MEASUREMENT=
LC_IDENTIFICATION=
LC_ALL=

$ smplayer
SMPlayer v. 17.9.0 (r?vision 8645) fonctionnant sur Linux
^C
zsh: interrupt  smplayer

$ unset LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL
$

$ export LC_COLLATE=C
$

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE=C
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

$ smplayer
SMPlayer v. 17.9.0 (révision 8645) fonctionnant sur Linux
export LANG=fr_FR.UTF-8 est inutile. La variable est correcte au démarrage.

rÉvision donc ça fonctionne mais juste le temps de la session !
Reste à conserver ces paramètres proprement.

Je passe aux 2 dernières commandes et je reviens. :)



Edit:

Code : Tout sélectionner

$ grep -Ev "^ *$|^ *#" /etc/locale.conf /etc/locale.gen
/etc/locale.conf:LANG=fr_FR.UTF-8
/etc/locale.gen:fr_FR.UTF-8 UTF-8  
/etc/locale.gen:fr_FR ISO-8859-1
$

Code : Tout sélectionner

# locale-gen 
Generating locales...
  fr_FR.UTF-8... done
  fr_FR.ISO-8859-1... done
Generation complete.
[root@arch ~]#
Mais après redémarrage, tout refout le camp !

Y aurait pas besoin d'un coup de localedef ?
Dernière modification par Skwad le lun. 06 nov. 2017, 15:06, modifié 4 fois.
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (en cours)

Message par Skwad »

waitnsea a écrit :
lun. 25 sept. 2017, 20:13
... Tu remarqueras les UTF en majuscules... est-ce que ça suffit à expliquer ?
Pas vraiment, mais ça confirme ce que benjarobin m'a fait remarquer: mes locales ont foutu le camp sans m'en avertir !
benjarobin a écrit :
lun. 25 sept. 2017, 20:17
Pour information fr_FR.UTF-8, fr_FR.utf-8 et fr_FR.utf8 représentent la même chose, bien que cela soit recommandé d'avoir la notation suivante : fr_FR.utf-8
Merci.
Et j'ajouterai à la liste que fr-FR.UTF-8 est reconnu aussi.


Message précédent édité.
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
benjarobin
Maître du Kyudo
Messages : 16123
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [smplayer] refuse de lire certains médias (en cours)

Message par benjarobin »

Bon, j'ai finalement installé smplayer, j'ai pu reproduire le problème avec juste :

Code : Tout sélectionner

export LC_CTYPE=""
smplayer
SDDM ou KDE doit modifier les variables d'environnement, c'est pour cela que je n'ai jamais eu de problème... Comment lances tu ta session graphique ?
Une solution (propre ?) serait de modifier /etc/profile.d/locale.sh pour faire un unset de tous les LC_*
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (en cours)

Message par Skwad »

Je n'utilise plus de gestionnaire de session depuis l'abandon de SLiM donc simplement (comme dans la philosophie KISS :D ) via startx et un ~/.xinitrc.

Mon /etc/profile.d/locale.sh contient ceci:

Code : Tout sélectionner

#!/bin/sh

if [ -z "$LANG" ]; then
  if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
    . "$XDG_CONFIG_HOME/locale.conf"
  elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then
    . "$HOME/.config/locale.conf"
  elif [ -r /etc/locale.conf ]; then
    . /etc/locale.conf
  fi
fi

LANG=${LANG:-C}
export LANG
[ -n "$LC_CTYPE" ]          && export LC_CTYPE
[ -n "$LC_NUMERIC" ]        && export LC_NUMERIC
[ -n "$LC_TIME" ]           && export LC_TIME
[ -n "$LC_COLLATE" ]        && export LC_COLLATE
[ -n "$LC_MONETARY" ]       && export LC_MONETARY
[ -n "$LC_MESSAGES" ]       && export LC_MESSAGES
[ -n "$LC_PAPER" ]          && export LC_PAPER
[ -n "$LC_NAME" ]           && export LC_NAME
[ -n "$LC_ADDRESS" ]        && export LC_ADDRESS
[ -n "$LC_TELEPHONE" ]      && export LC_TELEPHONE
[ -n "$LC_MEASUREMENT" ]    && export LC_MEASUREMENT
[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
Aucun locale.conf ne traîne dans mes /home/$USER/

Code : Tout sélectionner

LANG=${LANG:-C}
LANG-FR=$(LANG:fr_FR.UTF-8)

export LANG-FR
[ -n "$LC_CTYPE" ]          && export LC_CTYPE
[ -n "$LC_NUMERIC" ]        && export LC_NUMERIC
[ -n "$LC_TIME" ]           && export LC_TIME
[ -n "$LC_MONETARY" ]       && export LC_MONETARY
[ -n "$LC_MESSAGES" ]       && export LC_MESSAGES
[ -n "$LC_PAPER" ]          && export LC_PAPER
[ -n "$LC_NAME" ]           && export LC_NAME
[ -n "$LC_ADDRESS" ]        && export LC_ADDRESS
[ -n "$LC_TELEPHONE" ]      && export LC_TELEPHONE
[ -n "$LC_MEASUREMENT" ]    && export LC_MEASUREMENT
[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION

export LANG
[ -n "$LC_COLLATE" ]        && export LC_COLLATE
Pour la 2è partie, ceci fonctionnerait ?
Ou simplement ajouter la commande unset ... à la fin ?
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
benjarobin
Maître du Kyudo
Messages : 16123
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [smplayer] refuse de lire certains médias (en cours)

Message par benjarobin »

Si tu utilises un .xinitrc, cela serait encore mieux de faire les unset de tous les LC_ via ce fichier, cela évite de modifier /etc/profile.d/locale.sh.
Sinon juste mettre les unset à la fin c'est suffisant.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (en cours)

Message par Skwad »

J'ai édité mon .xinitrc mais cela n'a pas eu d'effet.

Je suppose, c'est parce que l'on doit renseigner le chemin absolu de la commande, or

Code : Tout sélectionner

$ where export
export: shell reserved word
export: shell built-in command

Code : Tout sélectionner

$ where unset
unset: shell built-in command
Une idée ?
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
benjarobin
Maître du Kyudo
Messages : 16123
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [smplayer] refuse de lire certains médias (en cours)

Message par benjarobin »

Peux tu donner le contenu de ton .xinitrc ?
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (en cours)

Message par Skwad »

Le voici

Code : Tout sélectionner

#!/bin/sh
#
# ~/.xinitrc
#
## L'environnement de bureau lancé par défaut lors d'un startx correspond à celui renseigné sous la ligne " *) "

## Configure variables d'environnement - locale fr_FR.UTF-8
unset LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL &
export LC_COLLATE=C &

case $1 in
    pekwm)
        exec dbus-launch pekwm
        ;;
    *)
        exec dbus-launch awesome
        ;;
    openbox)
        exec dbus-launch openbox-session
        ;;
esac
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
benjarobin
Maître du Kyudo
Messages : 16123
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [smplayer] refuse de lire certains médias (en cours)

Message par benjarobin »

Euh, c'est quoi ce & en fin de ligne ? Cela n'a pas vraiment de sens... unset et export ce n'est pas une application/ un exécutable...
Si tu fait cela, ce qui va se passer :
  • Un nouveau processus bash est lancé
  • La commande unset est exécutée dans ce nouveau processus, qui va donc changer les variables d'environnement de ce processus
  • Puis ce nouveau processus bash s'arrête...
  • Les variables d'environnement du processus bash qui exécute ton .xinitrc ne sont pas affectées.
Les variables d'environnement ne se propage que du processus parent à l’exécutable lancé (l'enfant), et non l'inverse.

De plus si je ne dis pas de bêtise, il manque des choses à ton .xinitrc, tout ce qui en rapport à systemd, non ? Je suis un peu rouillé... dbus-launch doit toujours être lancé ainsi ?
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [smplayer] refuse de lire certains médias (en cours)

Message par Skwad »

Avec un peu de retard, je reviens par ici.

Déjà, merci pour les explications. J'ai rectifié pour que ça ne cesse pas et les variables d'environnement sont maintenant correctes.
Mais sur un autre arch installé, je n'ai pas ce comportement et je n'ai pas réussi à voir où ces paramètres sont stockés.

Je dois être aussi rouillé car je n'ai rien vu à propos de systemd et xinit sur les wikis arch/debian.

Pour conclure, je vais mettre ce sujet en contourné.
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Répondre