Puncte:1

Cum pot muta mesajul Gnome Terminal „procesul copil a ieșit...”?

drapel cn

Tocmai am instalat o extensie IDE care rulează programul curent într-un terminal și am Gnome Terminal setat să rămână deschis atunci când comanda iese, dar când se întâmplă acest lucru, primele două linii sunt acoperite de mesajul „Procesul copil a ieșit normal. cu starea 0”. Cum l-as putea muta?

Cred că acest lucru este posibil prin editarea unei foi de stil Gnome, dar nu sunt sigur de unde să încep.

Exemplu

Iată un script Python simplu:

#!/usr/bin/env python3

x = input('Introduceți ceva: ')
print('Ai introdus:', x)

Îl rulez și scriu ceva:

captură de ecran care arată „Introduceți ceva: foobar”

(Sistemul meu este în franceză.)

Apoi, de îndată ce apăs pe Enter, scriptul se iese și mesajul apare, blocând ieșirea:

captură de ecran care arată ieșirea blocată de mesaj

Prefer să am mesajul în altă parte, ca în partea de jos, de exemplu. Iată o machetă:

macheta care arata iesirea deblocata prin plasarea mesajului in partea de jos

Puteți reproduce problema salvând scriptul ca tmp.py apoi alergând gnome-terminal -- python3 tmp.py. Și asigurați-vă că aveți terminalul Gnome configurat corect: accesați Editați | × â Preferințe â Comanda â Când comanda iese și selectați Țineți terminalul deschis.

Soluții posibile

  • Faceți ca programul să țină terminalul deschis, de ex. input('Apăsați Enter pentru a finaliza...'). -- Aș prefera să nu fiu nevoit să pun asta pe tot ce scriu.
  • Utilizați un terminal IDE integrat. -- Nu am găsit încă unul bun și prefer să folosesc terminalul nativ pentru majoritatea lucrurilor.
  • Relansați programul după ce acesta se închide. -- Dacă are efecte secundare, ar putea fi rău, de exemplu dacă citește și scrie fișiere.

Legate de

Hi-Angel avatar
drapel es
Urmând pașii dvs., nu pot reproduce acest lucru pe `GNOME Terminal 3.40.3`. i.e. Îți execut scriptul în Gnome Terminal, apoi introdu `foobar` în prompt și apasă Enter, nu văd niciun pop-up din terminal. Presupun că este posibil să fi fost remediat în versiunile mai recente ale terminalului Gnome.
wjandrea avatar
drapel cn
@Hi-Angel Mulțumesc pentru conducere! Folosesc GNOME Terminal 3.28.2. Dar unde vezi că apare codul de ieșire? Sau lipsește?
Hi-Angel avatar
drapel es
Nu văd nicăieri codul de ieșire. Iată o captură de ecran a ceea ce văd: https://i.imgur.com/LPR4AYa.png
wjandrea avatar
drapel cn
@Hi-Angel Oh, îl lansezi dintr-o coajă! Va trebui să utilizați `exec ./test.py` pentru a reproduce problema. Extensia pe care o folosesc face echivalentul lui `gnome-terminal -- ./test.py`, care lansează un nou terminal.
Hi-Angel avatar
drapel es
Când folosesc `exec test.py`, Gnome Terminal se închide pur și simplu imediat după ce tast în promptul „foobar”. Deci, ei bine, încă nu există pop-up, deși bănuiesc că nu este ceea ce ți-ai dorit – cred că s-ar putea să ai mai mult noroc să obții răspunsuri corecte dacă adaugi la postarea ta pașii exacti de reprodus, de preferință cât mai minim posibil.
wjandrea avatar
drapel cn
@Hi-Angel Trebuie să aveți Terminalul Gnome setat să rămână deschis când comanda iese. Da, ar trebui să adaug pașii.
vanadium avatar
drapel cn
Votați pentru că întrebarea este foarte bine documentată, dar aș lua o abordare diferită, adică porniți aplicația într-un terminal care este deja deschis. Probabil că ar fi nevoie de o solicitare de caracteristică pentru ca dezvoltatorii să facă acest mesaj care să nu acopere ieșirea terminalului existent sau să ofere o opțiune pentru a dezactiva mesajul. Alternativ, găsiți un alt emulator de terminal care funcționează mai mult așa cum v-ați dori.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.