Script /bin/bash

Demande d'aide : c'est ici.
Répondre
cesar-cesanjjaque
Messages : 8
Inscription : 02 nov. 2023, 15:06
Status : Hors-ligne

Bonjour,
Voici mon souci,
j'ai 2 ordinateurs Debian 12 LxQt que je veux rendre identiques (ou plutôt remplaçables).
Sur le bureau, j'ai plusieurs scripts qui fonctionnent sur les 2 ordinateurs > ce n'est pas le problème...
Le problème, c'est le terminal dans lequel ils s'exécutent.
Sans précision sur un ordinateur, ils s'exécutent dans Qt (qui est paramétrable)
Sans précision sur l'autre ordinateur, ils s'exécutent dans xterm et là c'est écrit ridiculement petit .

Où ou comment définir sous quel terminal se fera "Exécuter dans un terminal" lorsqu'on clique sur le script.
C'est certainement très simple de définir le terminal par défaut, mais je ne sais pas ou cela se fait !!!
Merci pour les réponses.

Nota : Par ailleurs, j'ai des scripts (très simples) qui nécessitent xterm pour fonctionner par exemple de forme :

Code : Tout sélectionner

#! /bin/bash
xterm -T "MON TITRE" -fullscreen  -fa "monotype" -fs 14  -fg black -bg white  -e "telnet IP"
qui me conviennent en taille puisque je la définie (évidemment ).
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 6261
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Bonjour,
regarde dans le centre de configuration les applications pa défaut.
Tu peux aussi essayer lxqt-config-file-associations
cesar-cesanjjaque
Messages : 8
Inscription : 02 nov. 2023, 15:06
Status : Hors-ligne

Merci mais ....
En fait j'avais déjà essayé lxqt-config-file-associations, dans x-shellscript il y avait Vim et j'ai mis QTerminal mais ça ne change rien. Cela affecte l'ouverture du fichier en édition, pas son exécution et effectivement avec un clic droit sur le script > QTterminal est maintenant le premier de la liste "ouvrir avec" .
A mon avis, ce qu'il faut trouver c'est le paquet qui ouvre la fenêtre "Exécuter le fichier" lorsque l'on clique gauche sur l'icône du script c'est lui qui doit choisir entre Xterm et QTerminal mais comment s'appelle t'il ?
Si j'ouvre Qterminal que je me place sur le répertoire du bureau et que je lance mon script avec l'instruction ./monscript.sh cela fait le job car mon script s'effectue bien dans Qterminal (évidemment) mais ce n'est pas le but.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 6261
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Essaie

Code : Tout sélectionner

#update-alternatives --config x-terminal-emulator
cesar-cesanjjaque
Messages : 8
Inscription : 02 nov. 2023, 15:06
Status : Hors-ligne

Merci pour cette réponse :

Code : Tout sélectionner

sudo update-alternatives --config x-terminal-emulator
Il existe 6 choix pour l'alternative x-terminal-emulator (qui fournit /usr/bin/x-terminal-emulator).

  Sélection   Chemin                           Priorité  État
------------------------------------------------------------
* 0            /usr/bin/gnome-terminal.wrapper   40        mode automatique
  1            /usr/bin/gnome-terminal.wrapper   40        mode manuel
  2            /usr/bin/koi8rxterm               20        mode manuel
  3            /usr/bin/lxterm                   30        mode manuel
  4            /usr/bin/qterminal                40        mode manuel
  5            /usr/bin/uxterm                   20        mode manuel
  6            /usr/bin/xterm                    20        mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :4
update-alternatives: utilisation de « /usr/bin/qterminal » pour fournir « /usr/bin/x-terminal-emulator » (x-terminal-emulator) en mode manuel
J'ai choisis 4 donc QTerminal > en relançant l'astérisque est bien sur 4 /usr/bin/qterminal (même sans utiliser sudo d'ailleurs)

Cependant cela ne fonctionne toujours pas ....
La fenêtre qui s'ouvre lorsque je clique sur l'icône du bureau est toujours en Xterm sur mon écran 1920x1080 pixels , elle fait ~ le 1/4 de l'écran (sans doute 640 x 480 pixels)
On peut bien sûr en faisant ctrl + clic droit choisir "Large" ou "Hudge" ou "Enormous" agrandir fenêtre et caractères mais....
je voulait faire des scripts directement utilisables avec un clic souris, sans bidouilles bizarres !
(Les scripts que j'utilise sauvegardent des répertoires sur une carte SD et sur un NAS en sftp ou font des tests réseau)

Ce que je ne comprend pas c'est que sur un autre ordinateur en Debian 12 aussi (acer 5733) les mêmes script s'ouvrent bien "nativement" avec Gnome-Terminal ou QTerminal {Il faudrait que je vérifie lequel des 2, mais tout est bien lisible) !
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 6261
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

La méthode violente consiste à désinstaller xterm, mais attention aux effets de borf. Vérifie qu'il ne désinstalle pas autre chose.
cesar-cesanjjaque
Messages : 8
Inscription : 02 nov. 2023, 15:06
Status : Hors-ligne

Bonsoir,
Je ne souhaite pas désinstaller xterm puisque j'ai des sessions telnet qui utilisent xterm-256couleurs.

Ce n'est pas top, ni élégant mais dans cet ordinateur j'ai résolut non problème en "encapsulant (*)" mon script dans un autre script de la forme :

Code : Tout sélectionner

#!/bin/bash
xterm -T "TEST-MON-SCRIPT" -fa "Monotype" -geometry 95x35 -fs 14 -fg black -bg white -e "./monscript.sh"
(ou si on préfère -fullscreen à la place de -geometry 95x35)

et ça fait le job comme je veux en cliquant sur l'icône et en ayant coché "faites confiance à cet exécutable" ...

Mais je n'ai toujours compris pourquoi sur cet ordinateur Xterm s'impose lorsqu'on lance un script plutôt que Gnome-terminal ou Qterminal comme sur son clone ???

(*) je ne sais pas si le terme est correct ?
MicP
Modérateur
Modérateur
Messages : 926
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour

J'avais utilisé la méthode consistant à créer un fichier .Xresources il y a une bonne dizaine d'années.

Voir : https://wiki.debian.org/Xresources

et voir aussi le paragraphe RESSOURCES dans les pages du manuel de xterm
en lançant la ligne de commande suivante :

Code : Tout sélectionner

man --pager='less -p "^RESOURCES"' xterm
Sur un système debian13 LXQt, il existe un fichier nommé /etc/X11/app-defaults/Xterm qui semble tout indiqué pour que les modifications puissent être appliquées à tous les comptes utilisateurs du système.

Mais ça serait quand même mieux de trouver comment faire fonctionner corectement update-alternatives (je cherche…)
MicP
Modérateur
Modérateur
Messages : 926
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour

J'ai téléchargé le fichier image iso debian-13.2.0-amd64-netinst.iso, créé une machine virtuelle et y ait installé un système debian LXQt,
et je me suis rendu compte d'un truc très simple :
x-terminal-emulateur est un lien vers l'émulateur de terminal qui a été sélectionné dans la liste proposée par update-alternative.

Donc, si tu as sélectionné Qterminal dans la liste de choix proposés par la commande update-alternative
et qu'ensuite tu t'es bien déconnecté de ta session pour que ton choix puisse être pris en compte à l'ouverture des sessions suivantes,
tu peux remplacer dans ton script :

Code : Tout sélectionner

xterm -T "MON TITRE" -fullscreen -fa "monotype" -fs 14 -fg black -bg white -e "telnet IP"
par :

Code : Tout sélectionner

x-terminal-emulator -T "MON TITRE" -fullscreen  -e "telnet IP"
=======
J'ai effectué des tests qui ont bien fonctionné en créant un lanceur sur le bureau de la machine LXQt.
L'émulateur de terminal qui sera utilisé sera celui qui aura été choisi dans la liste affichée par update-alternative.

Ci-dessous, le contenu du lanceur mon_lanceur_pour_Script_01.desktop que j'ai créé sur le bureau de ma machine debian LXQt
et qui ouvre la fenêtre de terminal pour y lancer le script dont le chemin est $HOME/mesScripts/monScript01.sh

Code : Tout sélectionner

[Desktop Entry]
Name=mon Script test
GenericName=nom générique
Comment=pour tester le lanceur de script utilisant le terminal choisi
Exec=x-terminal-emulator -e $HOME/mesScripts/monScript01.sh
Type=Application
Icon=application-x-desktop
Terminal=false

Ci-dessous, le contenu du script interactif lancé $HOME/mesScripts/monScript01.sh
qui ne fait qu'afficher un message et demander qu'on appuie sur une touche quelconque.

Code : Tout sélectionner

#!/bin/bash

printf '\n\n%s\n\n' "$0  $(date)"

read  -p "Appuyez sur une touche pour fermer la fenêtre."
Répondre