Comment créer une fenêtre au start de l'ordi

Salut à tous,
Je sais pas vraiment ou poster ma question donc mea culpa aux modos.

Je désire charger un simple serveur X et au démarrage de la bécane afficher une fenêtre avec un ou des bouton/s. En cliquant dessus, on démarre (ex: firefox) et quand on quitte l’application, ma fenêtre avec le/les bouton/s réapparait sur un fond noir standard xserver-xorg.

Ca c’est pour le test, maintenant quel outil utiliser et commant ?

Je vous remercie pour les tuyaux.

Pascal

En gros tu veut lancer tes applications graphiques depuis X sans aucun environnement graphique d’installé, même pas des poids plume :think:

Un script, avec zenity pour la fenetre avec les boutons. Selon le résultat, ça ouvre l’application voulue. Après, mettre en place un autosartx qui charge ton script dès que tu as lancé le pc.

et préparé un bash.rc avec les options qui vont bien et lancer ces quelques applications dans un buffer :confused: (bon ça fait bricolage mais je pense que si c’est pas trop gourmand ça doit pouvoir passé ) .

D’ailleurs quels intérêts :think:

Clochette :
Oui, j’en ai ma claque de solution toutes faites qui prennent plus de temps à parammètrer et à comprendre leurs structure que de réellement exploité. Et je passe tous les probs de compatibilité, etc. etc. Tu vois quoi :confused:

thuban :
Je te remercie, c’est visiblement exactement ce que je recherchais. J’ai tester un script sur ma buntu de bureau et le résultat et là :041

Maintenant, je retourne au bureau avec un disque vierge et je test sur un simple serveur X le plus épuré possible et je regarde le comportement…

Je me permets de garder ce post ouvert, pour peut-être des compléments de votre par seront les bienvenus.

Dans tous les cas merci à vous.
Pascal

Je doute que tu puisse créer une fenêtre sans gestionnaire de fenêtre.

openbox + wbar
tu verrouilles les comportements de openbox suivant tes besoins.
ex: interdiction de réduire ou d’enrouler les fenêtres, désactiver les touches raccourci (alt+ tab, alt + f4…)
:006

Re à tous,
MisterFreez : en effet, sans un petit gestionnaire de fenêtre y se passe pas grand chose.

sinozis : Oui, en recherchant un gestionnare super lite, je suis tombé sur openbox.
Je fais quelques tests et je poste.

[quote=“pascal_1212”]sinozis : Oui, en recherchant un gestionnare super lite, je suis tombé sur openbox.
Je fais quelques tests et je poste.

…[/quote]
Dis nous ce que tu cherche comme comportement on peut essayer de t’aider à trouver un gestionnaire (dwm peut être pas mal).

Ok,
Alors le but avoué est :
J’ai une bécane de salon qui a grillé :confused: En son temps, j’avais passé pas mal d’heure avec freevo, vdr, lircd, lcdproc, etc… etc. Le tout fonctionnait bien sous une etch 8)

Il faut que je remette la main à la pate et je veux un truc plus lite qui me permette de :
iceweasel
VLC pour la télé
lecteur de cd/dvd
Matter les visiteurs du soir avec ZoneMinder
Quelques composant domotique

Voilà en gros le but avoué.

Donc, une fenêtre qui s’ouvre au boot avec des boutons pour démarrer les différente applis, la souris pour cliquer (à terme faire avec la zapette i2c de ma carte tuner)
Dans tous les cas, éviter freevo, xbmc, mythtv ou autres usine à gaz dont les files sont dicéminé un peu partoutet grosse galère quant une applis crash ou autre…

Voilà pourquoi la pair script/zenity sur openbox me parrait être un point de départ intéressant et finiles usine à gaz :angry:

Il faut demander confirmation à Thuban, mais je pense que dwm doit pouvoir faire l’affaire avec une application par étiquette (faudrait pouvoir faire des règles pour que les clients soient toujours sur la même étiquette).

Re,

Heu tu m’es un peu excessif, je vois pas.
Si on considère qu’un prog est un client, alors y a pas de soucis ex:

[code]#!/bin/sh

/usr/bin/iceweasel
[/code]
./le_nom_du_script
Mais sa reste le lanceur, je veux l’interfacer…

Maintenant, il me faut créer une fenêtre qui affiche quelques boutons au boot du server X et on clique au bon androit.

Il te suffit simplement de mettre par exemple «playonlinux» dans .xinitrc du compte. En tapant startx, tu auras uniquement playonlinux qui sera affiché. Ça ne pose aucun souci. Tu peux ensuite faire un dispositif d’autologin et rajouter à la fin de .bashrc les lignes

if [ `tty` = "/dev/tty1" ] ; then startx fi pour que cela se fasse automatiquement lors de l’allumage de la machine.

Te remercie fran.b cela faisait longtemps :smiley:
Oui, je vois une modif getty, .bachrc, etc…

Je suis tombé sur fltk avec un tuto. Créer une fenêtre avec bouton… après la compil, (Segmentation fault) donc mes premiers tours de roue en C démmarre avec quelques difficultés… :confused:
Mais je crois que je suis sur la voie :arrow_right:

[quote=“pascal_1212”]Je suis tombé sur fltk avec un tuto. Créer une fenêtre avec bouton… après la compil, (Segmentation fault) donc mes premiers tours de roue en C démmarre avec quelques difficultés… :confused:
Mais je crois que je suis sur la voie :arrow_right:
…[/quote]
Regarde plutôt du coté de Gtkdialog ou de zenity.

Tu mets une ligne

1:2345:respawn:/sbin/mingetty --noclear --autologin tonutilisateur tty1 après avoir installé mingetty et ça roule

Re à tous,
On est d’accord fran.d pour le boot.
Voilà quelques lignes pour ma p’tit box :

#!/bin/bash

input=`zenity --width 640 --height 480 --title="MediaCenter" --text="Menu principale" --list --radiolist --column="Choix" --column="Actions" TRUE Tele FALSE Internet FALSE Radio FALSE Shutdown`

if [ $input == Tele ]
        then /usr/bin/totem | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
fi

if [ $input == Internet ]
        then /usr/bin/firefox | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
fi

if [ $input == Radio ]
        then /usr/bin/rhythmbox %U | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
fi

if [ $input == Shutdown ]
        then echo "$input" ### pour pas downer la bécane !
fi

if [ $input != $input ]
        then ./toto_zenity ### pour avoir une boucle en cas de clique sur annuler !
fi

Mais y a des prob à mon script naissant :wink:
pourquoi lorsque une appli est runée, la fonction zenity --progress subsiste jusqu’à ce qu’on quitte l’appli runée même avec --auto-close ?
Quand je quitte une applis, j’aimerais que mon script toto_zenity soie ré afficher ! Donc le script toto_zenity devrait rester à l’écoute de lui-même. Faut une fonction (while do done)?

Une idée ?

Ceci ?

#!/bin/sh

while true ; do
    input=$(zenity --width 640 --height 480 --title="MediaCenter" --text="Menu principale" --list --radiolist --column="Choix" --column="Actions" TRUE Tele FALSE Internet FALSE Radio FALSE Shutdown)

    if [ $input == Tele ]
        then /usr/bin/totem | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
    fi

    if [ $input == Internet ]
        then /usr/bin/firefox | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
    fi

    if [ $input == Radio ]
        then /usr/bin/rhythmbox %U | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close
    fi

    if [ $input == Shutdown ]
        then echo "$input" ### pour pas downer la bécane !
    fi

    if [ $input != $input ]
        then ./toto_zenity ### pour avoir une boucle en cas de clique sur annuler !
    fi
done

Re à tous,
Je fais évouer mon script, il devrait bientôt aboutir.
J’ai un p’tit prob avec :

if [ "$action" = "Changer" ]
then
      pkill mplayer \ # arret de mplayer
      session=`zenity --title="Les radios On-Line" --text="Menu Radio" --list --radiolist --column="" --column= TRUE "Frequence 3" FALSE "Funradio" FALSE "Stop"`
fi

Le but est de kill mplayer, réinterfacer une fenêtre et pouvoir changer de radio.

pkill mplayer ne fonctionne pas :angry:

Y a-t-il une conf à faire à /etc/mplayer.conf ou une autre métode de kill ???

Vos idées sont les bienvenues.

Re à tous,
Mon prob vient visiblement de la logique :confused:
Mon script :

#!/bin/bash

input=`zenity --width 640 --height 480 --title="MediaCenter" --text="Menu Principale" --list --radiolist --column="Choix" --column="Actions" TRUE "Tele" FALSE "Radio" FALSE "Internet" FALSE "Quitter"`

case $input in
        Tele)
                echo "$input"; exit 0 ;;

        Radio)
        radio=`zenity --title="Les radios On-Line" --text="Menu Radio" --list --radiolist --column="Choix" --column="Radio" TRUE "Funradio" FALSE "Frequence_3" FALSE "Stop"`
        case $radio in
                Funradio)
###                     echo "$input";
###                     echo "$radio"; 
                        radio1=`zenity --title="Changer/arreter" --text="Menu Radio" --list --radiolist --column="Choix" --column="Actions" TRUE "Changer" FALSE "Quitter"` # | gnome-mplayer http://streaming.radio.funradio.fr:80/fun-1-44-128`;
###                             echo "$radio1"
                        if [ $radio1 == "Changer" ]
                        then
                                echo "changer radio à été cliqué !"
                                ###ici une condition fonction qui appele le case precedent
                                ###radio=`zenity --title="Les radios On-Line" --text="Menu Radio" --list --radiolist --column="Choix" --column="Radio" TRUE "Funradio" FALSE "Frequence_3" FALSE "Stop"`
                        fi

                        if [ $radio1 == "Quitter" ]
                        then
                                echo "Quitter radio à été cliqué !"
#                               input=`zenity --width 640 --height 480 --title="MediaCenter" --text="Menu Principale" --list --radiolist --column="Choix" --column="Actions" TRUE "Tele" FALSE "Radio" FALSE "Internet" FALSE "Quitter"`

                        fi
                ;;

                Frequence_3)
                        echo "$input";
                        echo "$radio";
                        echo "$radio1";
                ;;
                Stop)
                        echo "$input";
                        echo "$radio";
                ;;
        esac
        ;;
        Internet)
               echo "$input"; exit 0;;
#                output=`/usr/bin/iceweasel | zenity --progress --pulsate --title="Demarrage de la tele" --auto-close`; \
#                input=`zenity --width 640 --height 480 --title="MediaCenter" --text="Menu Principale" --list --radiolist --column="Choix" --column="Actions" TRUE Tele FALSE Radio FALSE Internet FALSE Shutdown`;;

        Quitter)
                echo "$input"; exit 0;;

        -1)
                echo "Une erreur inattendue s'est produite."; exit 0;;
esac

à cette case ($radio1):

echo "changer radio à été cliqué !"

J’aimerais remonter à l’instance précédente qui serait ($radio)
Mais mon script s’arrête et je peux qu’afficher (echo “changer radio à été cliqué !”)

Quelqu’un une solution ?