Startparameter Vorgabe verschwunden

Für Fragen rund um die Ide und zum Debugger
Antworten
Mathias
Beiträge: 7313
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Startparameter Vorgabe verschwunden

Beitrag von Mathias »

Bei Startprogramme hatte es in der ComboBox bei Startprogramm mal eine Zeile mit xterm. Irgendwie mit rumbasteln mit trunk Versionen, ist der Eintrag verschwunden. Dabei spielt es keine Rolle was für ein Project ich lade, es kommt nirgends mehr.
Hat eine eine Idee wo das xterm verschwunden ist, ich denke die kann man sicher irgendwo wieder fix rein tun ?
Dateianhänge
2026-05-26_20-00.png
2026-05-26_20-00.png (83.73 KiB) 261 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11325
Registriert: Mo 11. Sep 2006, 19:01

Re: Startparameter Vorgabe verschwunden

Beitrag von theo »

Ich glaube, der sucht das zur Laufzeit.
Was sagt bei dir auf der Shell

Code: Alles auswählen

echo $TERM
Bei mir: "xterm-256color"

S.a.:
lazarus/ide/runparamsopts.pas
lazarus/ide/packages/ideproject/runparamoptions.pas
"FindTerminalInPath"

Mathias
Beiträge: 7313
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Startparameter Vorgabe verschwunden

Beitrag von Mathias »

Bei mir: "xterm-256color"
Bei mir auch.
lazarus/ide/runparamsopts.pas

Code: Alles auswählen

  S := FindTerminalInPath;
  if S <> '' then
    List.AppendEntry(S);
  {$IFNDEF MSWINDOWS}
  S := FindTerminalInPath('gnome-terminal');
  if S <> '' then
    List.AppendEntry(S);
  S := FindTerminalInPath('konsole');
  if S <> '' then
    List.AppendEntry(S);
  {$ENDIF}
lazarus/ide/packages/ideproject/runparamoptions.pas

Code: Alles auswählen

const
  DefaultLauncherTitle = '''Lazarus Run Output''';
  DefaultLauncherApplication = '$(LazarusDir)/tools/runwait.sh $(TargetCmdLine)';

function FindTerminalInPath(const ATerm: String = ''): String;
var
  s: String;
  Term: String;
begin
  Result := '';
  Term := ATerm;
  if Term = '' then
    Term := GetEnvironmentVariableUTF8('TERM');
  {$IFDEF MSWINDOWS}
  if Term = '' then
    Term := 'cmd.exe';
  {$ELSE}
  if Term = '' then
    Term := 'gnome-terminal';
  {$ENDIF}
  S:=FindDefaultExecutablePath(Term);
  if FileExistsCached(S) and FileIsExecutableCached(S) then
  begin
    // gnome-terminal is not compatible to xterm params.
    if Term = 'gnome-terminal' then
      Result := S + ' -t ' + DefaultLauncherTitle + ' -- ' + DefaultLauncherApplication
    else if SameText(Term,'cmd.exe') then
      Result := S + ' /C ${TargetCmdLine}'
    else
      Result := S + ' -T ' + DefaultLauncherTitle + ' -e ' + DefaultLauncherApplication;
  end;
end;

Helfen diese Infos weiter ?



Und wie ich die Vorgabe gnome-terminal nehme kommt, das im Anhange, obwohl gnome-terminal bei mir installiert ist.
Dateianhänge
2026-05-27_13-36.png
2026-05-27_13-36.png (14.21 KiB) 148 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11325
Registriert: Mo 11. Sep 2006, 19:01

Re: Startparameter Vorgabe verschwunden

Beitrag von theo »

Mathias hat geschrieben: Mi 27. Mai 2026, 13:35 Helfen diese Infos weiter ?
Schau doch einfach mal, was er sich da auf deinem System zusammenreimt.
Bei mir kommt xterm als Option.

Code: Alles auswählen

uses LazUTF8, FileUtil, LazFileCache;  
..
var Term, S:String;
begin
   Term := GetEnvironmentVariableUTF8('TERM');
   writeln(Term);
   S:=FindDefaultExecutablePath(Term);
   writeln(S);
   if FileExistsCached(S) and FileIsExecutableCached(S) then
     writeln(S+': alles klar') else writeln('Mist');
end;    

Mathias
Beiträge: 7313
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Startparameter Vorgabe verschwunden

Beitrag von Mathias »

Wen ich dein Test Programm in der stable von Lazarus starte, kommt die im Anhang. Ich konnte es sogar mit F9 starten wie gewohnt.

Starte ich das project über gnome-terminal manuell, F9 geht in meiner Trunk nicht mehr, dann kommt folgendes:

Code: Alles auswählen

 ./project1 
xterm-256color

Mist
Wen ich das selbe manuell im xterm mache, kommt da gleiche wie im Anhang.
Dateianhänge
2026-05-27_16-13.png
2026-05-27_16-13.png (11.7 KiB) 118 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 7313
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Startparameter Vorgabe verschwunden

Beitrag von Mathias »

Ich habe das ganze Lazarus mit fpcupdeluxe neu installiert, die hat leider nichts gebracht.

Wen ich bei Startparameter in den Reiter Vorschau klicke habe ich noch folgendes gesehen

Code: Alles auswählen

Launching Application:
/usr/bin/gnome-terminal -t 'Lazarus Run Output' -- /home/tux/fpcupdeluxe_trunk/lazarus//tools/runwait.sh "/home/tux/fpcupdeluxe_trunk/projects/project1"
Edit:
Jetzt habe ich gerade ein neues Features in der IDE entdeckt. Wen es keine Hacken bei Startprogramme hat, das wird beim ersten Aufruf von Writeln, die intere Debug Console geöffnet.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11325
Registriert: Mo 11. Sep 2006, 19:01

Re: Startparameter Vorgabe verschwunden

Beitrag von theo »

Keine Ahnung, was bei dir vermurkst ist.
Bei mir auf openSUSE Tumbleweed-Slowroll bekomme ich xterm und konsole angeboten.
startpara.png
startpara.png (96.4 KiB) 98 mal betrachtet


Ich schaue mir solche ausgaben immer auf der Console beim Nachrichtenfenster an.
console.png
console.png (106.03 KiB) 98 mal betrachtet

Mathias
Beiträge: 7313
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Startparameter Vorgabe verschwunden

Beitrag von Mathias »

Keine Ahnung, was bei dir vermurkst ist.
Bei mir auf openSUSE Tumbleweed-Slowroll bekomme ich xterm und konsole angeboten.
Genau diese beiden Einträge fehlen bei mir, der xterm war bei mir früher immer da. Vielleicht liegt es nicht mal an Lazarus, sondern an meinem Mint.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten