Page 2 sur 2

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

Publié : lun. 25 sept. 2017, 22:11
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 ?

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

Publié : lun. 25 sept. 2017, 22:22
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é.

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

Publié : mar. 26 sept. 2017, 00:14
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_*

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

Publié : mar. 26 sept. 2017, 14:03
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 ?

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

Publié : mar. 26 sept. 2017, 14:47
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.

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

Publié : mer. 27 sept. 2017, 15:38
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 ?

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

Publié : mer. 27 sept. 2017, 20:24
par benjarobin
Peux tu donner le contenu de ton .xinitrc ?

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

Publié : sam. 30 sept. 2017, 14:34
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

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

Publié : sam. 30 sept. 2017, 15:51
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 ?

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

Publié : lun. 06 nov. 2017, 15:06
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é.