GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo crear elementos simplistas similares a ventanas en un programa de línea de comandos?

Cuando ejecuto sudo dpkg-reconfigure lightdm en la terminal veo un menú de lista simplista similar a una ventana. ¿Hay alguna forma de hacer algo así en C++?

Esto se parece a:

Respuesta aceptada:

La interfaz similar a una ventana basada en texto, contenida dentro de una terminal, que ve cuando ejecuta sudo dpkg-reconfigure lightdm está codificado usando ncurses biblioteca. Entonces, si desea que su programa proporcione una interfaz que se vea así, también puede usar ncurses.

  • Aquí está la página del proyecto ncurses.

  • Aquí hay un CÓMO programar NCURSES.

  • Puede instalar algunos archivos de documentación de ncurses con ncurses-doc paquete.

    Esto incluye la página de manual de ncurses, que también puede ver en línea aquí. También incluye páginas de manual para todas las funciones proporcionadas por la biblioteca ncurses (algunas comparten una página de manual). Esas páginas de manual no actualmente en línea en manpages.ubuntu.com.

Para crear software utilizando ncurses en Ubuntu, debe obtener el paquete de archivos de encabezado adecuado. A menos que esté realizando una compilación cruzada, esto será:

  • Para programas que usan cadenas tradicionales donde la mayoría de los caracteres están representados por un solo byte (por ejemplo, UTF-8), use libncurses5 .

    Esto es probablemente lo que desea si sus cadenas son matrices de char (en C y otros lenguajes basados ​​en C) o std::string (en C++).

  • Para programas que requieren soporte de caracteres anchos, use libncursesw5 .

    Lo necesitará especialmente si sus cadenas son matrices de wchar_t (en C y otros lenguajes basados ​​en C) o std::wstring , std::u16string o std::u32string (en C++).

Opcionalmente, si necesita ayuda para depurar su programa, puede también quiere símbolos de depuración (para depuradores como gdb). Para eso, instale libncurses5-dbg o libncursesw5-dbg también.

Cuando construye su programa con GCC (por ejemplo, con el gcc o g++ comandos), dale el argumento -lncurses o -lncursesw , generalmente al final del comando. Esto vincula su programa a la biblioteca ncurses. Por ejemplo:

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

Que compila hello.cpp para producir un ejecutable con símbolos de depuración (-g ), llamada hola (-o hello ), advertencia sobre la mayoría de las cosas sobre las que es posible que desee una advertencia (-Wall ), y vinculando a la biblioteca ncurses normal (sin caracteres anchos) (-lncurses ).

Relacionado:¿Es posible tener un fondo diferente para cada espacio de trabajo en Ubuntu?
Ubuntu
  1. Cómo crear alias de pulsaciones de teclas en la línea de comandos en Linux

  2. Cómo crear un USB de arranque de Linux desde la línea de comandos de Linux

  3. ¿Cómo crear un USB persistente?

  4. ¿Cómo crear un alcance?

  5. Cómo crear subprocesos en Linux (con un programa de ejemplo en C)

Cómo crear una nueva rama en Git

Cómo crear un usuario Sudo en Ubuntu

Cómo crear una unidad USB Ubuntu Live usando la línea de comandos

Cómo crear y ejecutar un programa en C usando Ubuntu 20.04 LTS

Cómo crear tu primer programa Java en CentOS 8

Cómo crear su primer programa Java en Debian 10