GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment créer des éléments ressemblant à des fenêtres simplistes dans un programme en ligne de commande ?

Lorsque j'exécute sudo dpkg-reconfigure lightdm dans le terminal, je vois un listmenu simpliste en forme de fenêtre. Existe-t-il un moyen de créer quelque chose comme ça en C++ ?

Cela ressemble à :

Réponse acceptée :

L'interface textuelle de type fenêtre, contenue dans un terminal, que vous voyez lorsque vous exécutez sudo dpkg-reconfigure lightdm est codé en utilisant les ncurses bibliothèque. Donc, si vous voulez que votre programme fournisse une interface qui ressemble à ça, vous pouvez aussi utiliser ncurses.

  • Voici la page du projet ncurses.

  • Voici un HOWTO de programmation NCURSES.

  • Vous pouvez installer certains fichiers de documentation ncurses avec le ncurses-doc paquet.

    Cela inclut la page de manuel ncurses, que vous pouvez également consulter en ligne ici. Il comprend également des pages de manuel pour toutes les fonctions fournies par la bibliothèque ncurses (certains partagent une page de manuel). Ces pages de manuel ne sont pas actuellement en ligne sur manpages.ubuntu.com.

Pour créer des logiciels à l'aide de ncurses dans Ubuntu, vous devez obtenir le package de fichiers d'en-tête approprié. À moins que vous ne fassiez de la compilation croisée, ce sera :

  • Pour les programmes utilisant des chaînes traditionnelles où la plupart des caractères sont représentés par un seul octet (par exemple, UTF-8), utilisez libncurses5 .

    C'est probablement ce que vous voulez si vos chaînes sont des tableaux de char (en C et autres langages basés sur C) ou std::string (en C++).

  • Pour les programmes nécessitant un large support de caractères, utilisez libncursesw5 .

    Vous en aurez particulièrement besoin si vos chaînes sont des tableaux de wchar_t (en C et autres langages basés sur C) ou std::wstring , std::u16string , ou std::u32string (en C++).

Facultativement, pour obtenir de l'aide pour déboguer votre programme, vous pouvez également veulent des symboles de débogage (pour les débogueurs tels que gdb). Pour cela, installez libncurses5-dbg ou libncursesw5-dbg aussi.

Lorsque vous construisez votre programme avec GCC (par exemple, avec le gcc ou g++ commandes), donnez-lui l'argument -lncurses ou -lncursesw , généralement à la toute fin de la commande. Cela relie votre programme à la bibliothèque ncurses. Par exemple :

g++ -Wall -g -o hello hello.cpp -lncurses

Cela compile hello.cpp pour produire un exécutable avec des symboles de débogage (-g ), appelé bonjour (-o hello ), avertissement sur la plupart des choses pour lesquelles vous pourriez vouloir un avertissement (-Wall ) et la liaison à la bibliothèque ncurses régulière (pas de caractères larges) (-lncurses ).

En relation :Est-il possible d'avoir un arrière-plan différent pour chaque espace de travail dans Ubuntu ?
Ubuntu
  1. Comment créer des alias de frappe de ligne de commande sous Linux

  2. Comment créer une clé USB amorçable Linux à partir de la ligne de commande Linux

  3. Comment créer une clé USB persistante ?

  4. Comment créer une portée ?

  5. Comment créer des threads sous Linux (avec un exemple de programme C)

Comment créer une nouvelle branche dans Git

Comment créer un utilisateur Sudo sur Ubuntu

Comment créer une clé USB Ubuntu Live à l'aide de la ligne de commande

Comment créer et exécuter un programme C avec Ubuntu 20.04 LTS

Comment créer votre premier programme Java sur CentOS 8

Comment créer votre premier programme Java dans Debian 10