CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Find Your Next Game
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Faire son propre desktop environment linux

DébutPage précedente
1
Page suivantePage suivante
JeanOs JeanOs
MP
Niveau 10
01 février 2020 à 19:06:56

Utilisateur de windows à mes débuts puis macos depuis quelques mois je n'ai absolument jamais touché à linux donc je cherche surtout des supports pour apprendre ce que je souhaite faire.

Alors j'ai un ordinateur tournant sous ubuntu et j'aimerais entièrement changer son interface graphique. Pour illustrer avec un exemple: allumer la machine démarrera sans afficher à l'écran les lignes de debugging (je suppose que c'est ce que c'est) et lancera dès que possible mon window manager, tout ça pour obtenir une interface identique à iOS (toujours pour illustrer, ce n'est pas mon but)

Je me suis pas mal renseigné sur ce qu'est un window manager et comment faire le mien, j'ai globalement compris comment le programmer mais je bloque un peu sur comment le lancer. De ce que j'ai compris je dois modifier tout un tas de fichier pour lancer mon WM au démarrage et désinstaller celui que j'ai actuellement, ce que je ne sais pas comment faire.

Ensuite pour ce qui est de l'interface graphique (l'aspect iOS) c'est un peu plus complexe, j'ai eu une idée mais qui me semble ne pas être la bonne, càd avoir une fenêtre OpenGL qui servira de bureau avec les animations qui vont avec et puis la lancer au démarrage de mon WM, je n'aurai qu'à l'avoir en exception dedans pour qu'elle soit toujours en dernier plan.

Je me doute que ce sont des questions de débutant mais si vous avez rien qu'un livre qui pourrait m'éclairer je suis preneur :ok:

godrik godrik
MP
Niveau 23
01 février 2020 à 20:09:52

L'affichage qui vient avant le demarrage du serveur graphique ne sont pas du ressort du window manager. Le window manager est lance par gdm qui fait l'authentification de l'utilisateur. gdm est parfois configure sous ubuntu pour te logguer directement sur un utilisateur precis ce qui donne l'impression qu'il n'est pas la, mais gdm est celui qui demarre le window manager.

Tout ce qui se passe avant n'est pas du ressort de gdm, ce sont different services qui demare, probablement demare par systemd. Il faudrait voire comment configurer systemd et comment le noyau boote pour supprimer l'affichage de tout ca. Il ya des distribution qui font donc clairement c'est possible.

Apres au niveau du window manager, il y a plusieurs composant qui sont typiquement distinct et se parles les un les autres. Le window manager en lui meme est juste le composant qui decrit comment decorer les fenetres et les afficher. Quand on parle de gnome ou de unity comme d'un window manager, on fait un raccourci, il y a un composant qui fait le window management, et un autre qui fait le desktop management.

Le programme qui s'occupe d'afficher un bureau avec des icones et tout, c'est le desktop manager. Et ca basiqument c'est une application sans decoration qui tourne toujours en arriere plan. La bar d'application toute jolie est souvent une application separe, souvent les gens utilisent docker.

En bref, c'est une suite d'application dont on parle. Tu peux changer l'une sans changer les autres.
Evidement ces differentes applications communique pour faire un tout coherent.

JeanOs JeanOs
MP
Niveau 10
01 février 2020 à 20:50:55

Le 01 février 2020 à 20:09:52 godrik a écrit :
L'affichage qui vient avant le demarrage du serveur graphique ne sont pas du ressort du window manager. Le window manager est lance par gdm qui fait l'authentification de l'utilisateur. gdm est parfois configure sous ubuntu pour te logguer directement sur un utilisateur precis ce qui donne l'impression qu'il n'est pas la, mais gdm est celui qui demarre le window manager.

Et comment est-ce que je peux signaler à gdm de choisir mon wm à la place ? Au final le window manager c'est juste un executable non ?

Le 01 février 2020 à 20:09:52 godrik a écrit :
Tout ce qui se passe avant n'est pas du ressort de gdm, ce sont different services qui demare, probablement demare par systemd. Il faudrait voire comment configurer systemd et comment le noyau boote pour supprimer l'affichage de tout ca. Il ya des distribution qui font donc clairement c'est possible.

Je verrais très surement comment faire ça par la suite, mais je suppose que c'est bien en dehors de mes connaissances pour le moment... Le fait que ce soit possible me soulage au moins

Le 01 février 2020 à 20:09:52 godrik a écrit :
Le programme qui s'occupe d'afficher un bureau avec des icones et tout, c'est le desktop manager. Et ca basiqument c'est une application sans decoration qui tourne toujours en arriere plan. La bar d'application toute jolie est souvent une application separe, souvent les gens utilisent docker.

Comme quoi mon idée n'était pas si stupide que ça, je suis assez fière :oui:
Donc une fenêtre opengl plein écran contenant des exceptions dans le WM pour ne pas la bouger, redimensionner et sans bordure ? Je pensais à quelque chose de bien plus complexe... Tant mieux.

Etant donné que le window manager ne fait que gérer le mouvement, redimensionnement, etc... Comment est-ce que je peux faire faire une animation à une fenêtre ? Par exemple la réduction des fenêtres sur macos qui applique (je suppose) un shader pour effectuer un léger effet

Sinon question à part concernant linux dans sa globalité, programmant généralement sur des techno assez nouvelles j'ai pris l'habitude de chercher des infos sur des pages assez (voir très) récente pour ne pas apprendre des choses dépassées. Cependant pour linux la majorité des infos que je trouve date de 10-20 ans et je me demande s'il ne vaut pas mieux les ignorer, est-ce linux a énormément changé durant ce lapse de temps ?

Message édité le 01 février 2020 à 20:54:18 par JeanOs
godrik godrik
MP
Niveau 23
01 février 2020 à 21:44:18

Le 01 février 2020 à 20:50:55 JeanOs a écrit :

Le 01 février 2020 à 20:09:52 godrik a écrit :
L'affichage qui vient avant le demarrage du serveur graphique ne sont pas du ressort du window manager. Le window manager est lance par gdm qui fait l'authentification de l'utilisateur. gdm est parfois configure sous ubuntu pour te logguer directement sur un utilisateur precis ce qui donne l'impression qu'il n'est pas la, mais gdm est celui qui demarre le window manager.

Et comment est-ce que je peux signaler à gdm de choisir mon wm à la place ? Au final le window manager c'est juste un executable non ?

Je ne sais pas ce que gdm fait de nos jours. Mais en general, les login manager lisent .xinitrc, ou .xsessionrc.

Le 01 février 2020 à 20:09:52 godrik a écrit :
Tout ce qui se passe avant n'est pas du ressort de gdm, ce sont different services qui demare, probablement demare par systemd. Il faudrait voire comment configurer systemd et comment le noyau boote pour supprimer l'affichage de tout ca. Il ya des distribution qui font donc clairement c'est possible.

Je verrais très surement comment faire ça par la suite, mais je suppose que c'est bien en dehors de mes connaissances pour le moment... Le fait que ce soit possible me soulage au moins

Pour le coup, c'est juste de la configuration du systeme de boot.

Le 01 février 2020 à 20:09:52 godrik a écrit :
Le programme qui s'occupe d'afficher un bureau avec des icones et tout, c'est le desktop manager. Et ca basiqument c'est une application sans decoration qui tourne toujours en arriere plan. La bar d'application toute jolie est souvent une application separe, souvent les gens utilisent docker.

Comme quoi mon idée n'était pas si stupide que ça, je suis assez fière :oui:
Donc une fenêtre opengl plein écran contenant des exceptions dans le WM pour ne pas la bouger, redimensionner et sans bordure ? Je pensais à quelque chose de bien plus complexe... Tant mieux.

Mouais, ca a l'air d'etre en gros ca. Peut etre que les gens du forum linux en savent un peu plus sur comment ca marche.

Etant donné que le window manager ne fait que gérer le mouvement, redimensionnement, etc... Comment est-ce que je peux faire faire une animation à une fenêtre ? Par exemple la réduction des fenêtres sur macos qui applique (je suppose) un shader pour effectuer un léger effet

En general, c'est le compositeur qui fait ca. Compiz etait l'exemple le plus courant il y a une dizaine d'annee, aucune idee de ce qui se fait de nos jours. De memoire, quand tu utilise un compositing window maanger, les application sont rendu dans un buffer offscreen et le compositeur les reassemble. Il peut lui meme etre ecrit en opengl. Compiz est en opengl de memoire.

Sinon question à part concernant linux dans sa globalité, programmant généralement sur des techno assez nouvelles j'ai pris l'habitude de chercher des infos sur des pages assez (voir très) récente pour ne pas apprendre des choses dépassées. Cependant pour linux la majorité des infos que je trouve date de 10-20 ans et je me demande s'il ne vaut pas mieux les ignorer, est-ce linux a énormément changé durant ce lapse de temps ?

Les concepts restent utilise pendant assez longtemps. Le modele de x11, gtk, ou qt n'a pas vriament change depuis les annees 90. (X11 probablement meme avant.) Apres on a vu l'arrive de wayland depuis, mais je pense que Xorg est toujours le standard. Mais ca fait un bout de temps (au moins 10 ans) que je n'ai pas regarde ces trucs la serieusement.

JeanOs JeanOs
MP
Niveau 10
01 février 2020 à 23:11:17

Le 01 février 2020 à 21:44:18 godrik a écrit :
Je ne sais pas ce que gdm fait de nos jours. Mais en general, les login manager lisent .xinitrc, ou .xsessionrc.

J'ai réussi à lancer un WM fait avec xlib trouvé sur internet et que j'ai compilé.
J'ai suivi ce tuto: https://wiki.ubuntu.com/CustomXSession#How_to_create_a_X_session_script
Par contre je dois à chaque fois aller en mode console me login et faire la commande "startx" pour pouvoir le lancer, ce qui n'est pas super pratique + l'écran de démarrage ubuntu.
D'ailleurs dans mon xinitrc j'ai essayé de rajouter la commande "gnome-terminal" mais elle ne marche bizarrement pas avec mon WM, pareil en essayant de faire la commande directement de l'intérieur, qu'est-ce que je n'ai pas compris ? (j'utilise xterm du coup, firefox fonctionne également)

Le 01 février 2020 à 21:44:18 godrik a écrit :
En general, c'est le compositeur qui fait ca. Compiz etait l'exemple le plus courant il y a une dizaine d'annee, aucune idee de ce qui se fait de nos jours. De memoire, quand tu utilise un compositing window maanger, les application sont rendu dans un buffer offscreen et le compositeur les reassemble. Il peut lui meme etre ecrit en opengl. Compiz est en opengl de memoire.

J'ai juste survolé la page wikipedia et ça m'a effectivement l'air d'être ce que je veux, je ne vois pas encore trop comment l'utiliser mais je vais me renseigner.

godrik godrik
MP
Niveau 23
01 février 2020 à 23:43:51

Le 01 février 2020 à 23:11:17 JeanOs a écrit :

Le 01 février 2020 à 21:44:18 godrik a écrit :
Je ne sais pas ce que gdm fait de nos jours. Mais en general, les login manager lisent .xinitrc, ou .xsessionrc.

J'ai réussi à lancer un WM fait avec xlib trouvé sur internet et que j'ai compilé.
J'ai suivi ce tuto: https://wiki.ubuntu.com/CustomXSession#How_to_create_a_X_session_script
Par contre je dois à chaque fois aller en mode console me login et faire la commande "startx" pour pouvoir le lancer, ce qui n'est pas super pratique + l'écran de démarrage ubuntu.
D'ailleurs dans mon xinitrc j'ai essayé de rajouter la commande "gnome-terminal" mais elle ne marche bizarrement pas avec mon WM, pareil en essayant de faire la commande directement de l'intérieur, qu'est-ce que je n'ai pas compris ? (j'utilise xterm du coup, firefox fonctionne également)

Ca c'est une question de configuration de gdm probablement. Ca a quelques annees, mais j'imagine que ca n'a pas change: https://linuxcommando.blogspot.com/2014/07/how-to-change-window-manager-for-gnome.html

JeanOs JeanOs
MP
Niveau 10
01 février 2020 à 23:54:35

Le 01 février 2020 à 23:43:51 godrik a écrit :

Le 01 février 2020 à 23:11:17 JeanOs a écrit :

Le 01 février 2020 à 21:44:18 godrik a écrit :
Je ne sais pas ce que gdm fait de nos jours. Mais en general, les login manager lisent .xinitrc, ou .xsessionrc.

J'ai réussi à lancer un WM fait avec xlib trouvé sur internet et que j'ai compilé.
J'ai suivi ce tuto: https://wiki.ubuntu.com/CustomXSession#How_to_create_a_X_session_script
Par contre je dois à chaque fois aller en mode console me login et faire la commande "startx" pour pouvoir le lancer, ce qui n'est pas super pratique + l'écran de démarrage ubuntu.
D'ailleurs dans mon xinitrc j'ai essayé de rajouter la commande "gnome-terminal" mais elle ne marche bizarrement pas avec mon WM, pareil en essayant de faire la commande directement de l'intérieur, qu'est-ce que je n'ai pas compris ? (j'utilise xterm du coup, firefox fonctionne également)

Ca c'est une question de configuration de gdm probablement. Ca a quelques annees, mais j'imagine que ca n'a pas change: https://linuxcommando.blogspot.com/2014/07/how-to-change-window-manager-for-gnome.html

Mon window manager n'est malheureusement pas détecté, je recois un "Cannot get window manager info properties" alors que quand je suis sur gnome tout s'affiche parfaitement.
Faut dire que mon WM tient sur 100 lignes donc il doit manqué pas mal de choses...

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment