Bash : Hold gnome-terminal open, get history and regain control after exit



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I wrote a script which open a new terminal ( gnome ) and a bunch of tabs (
40 more or less ), which is supposed to run infinitly. It could crash, and it does, and I would like to easily rerun the injected command from the same tab.



It look like this :



script='gnome-terminal'
tab='--tab-with-profile=scan'

for (( i = 0; i < len; i+=2 ));
do
script+=" $tab --title="$you[i]" -e "bash -c 'node scan $you[i+1]; bash;'""
done

eval "$script" $>/dev/null
&& kill -9 $PPID
|| errorProfile


I have set on the profile the option "hold open on stop", but I can't retrieve my command as it is not pushed in history. The very minimal repro for this look like this :



gnome-terminal -e 'bash -c "ls; bash"'


I have tried a few stuff, from



gnome-terminal -e 'bash -c "history -s ls; bash"'


to



gnome-terminal -e 'bash -c ". ~/bashrc; ls; bash"'


But nothing work, and my history is not filled with the -c arg.



My understanding is that running bash inside a terminal create a session which is not related to the parent terminal, and as I need to use it to run command in my freshly created terminal, maybe this is an unsolvable problem ?



In addition:



  • Can we regain control on a terminal when the profile option "hold open when process finish" ?

  • Is it possible to not use the profile option to manage this, but instead trap signal to do what I want ?









share|improve this question






















  • You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

    – Louisb
    Nov 15 '18 at 10:10

















0















I wrote a script which open a new terminal ( gnome ) and a bunch of tabs (
40 more or less ), which is supposed to run infinitly. It could crash, and it does, and I would like to easily rerun the injected command from the same tab.



It look like this :



script='gnome-terminal'
tab='--tab-with-profile=scan'

for (( i = 0; i < len; i+=2 ));
do
script+=" $tab --title="$you[i]" -e "bash -c 'node scan $you[i+1]; bash;'""
done

eval "$script" $>/dev/null
&& kill -9 $PPID
|| errorProfile


I have set on the profile the option "hold open on stop", but I can't retrieve my command as it is not pushed in history. The very minimal repro for this look like this :



gnome-terminal -e 'bash -c "ls; bash"'


I have tried a few stuff, from



gnome-terminal -e 'bash -c "history -s ls; bash"'


to



gnome-terminal -e 'bash -c ". ~/bashrc; ls; bash"'


But nothing work, and my history is not filled with the -c arg.



My understanding is that running bash inside a terminal create a session which is not related to the parent terminal, and as I need to use it to run command in my freshly created terminal, maybe this is an unsolvable problem ?



In addition:



  • Can we regain control on a terminal when the profile option "hold open when process finish" ?

  • Is it possible to not use the profile option to manage this, but instead trap signal to do what I want ?









share|improve this question






















  • You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

    – Louisb
    Nov 15 '18 at 10:10













0












0








0








I wrote a script which open a new terminal ( gnome ) and a bunch of tabs (
40 more or less ), which is supposed to run infinitly. It could crash, and it does, and I would like to easily rerun the injected command from the same tab.



It look like this :



script='gnome-terminal'
tab='--tab-with-profile=scan'

for (( i = 0; i < len; i+=2 ));
do
script+=" $tab --title="$you[i]" -e "bash -c 'node scan $you[i+1]; bash;'""
done

eval "$script" $>/dev/null
&& kill -9 $PPID
|| errorProfile


I have set on the profile the option "hold open on stop", but I can't retrieve my command as it is not pushed in history. The very minimal repro for this look like this :



gnome-terminal -e 'bash -c "ls; bash"'


I have tried a few stuff, from



gnome-terminal -e 'bash -c "history -s ls; bash"'


to



gnome-terminal -e 'bash -c ". ~/bashrc; ls; bash"'


But nothing work, and my history is not filled with the -c arg.



My understanding is that running bash inside a terminal create a session which is not related to the parent terminal, and as I need to use it to run command in my freshly created terminal, maybe this is an unsolvable problem ?



In addition:



  • Can we regain control on a terminal when the profile option "hold open when process finish" ?

  • Is it possible to not use the profile option to manage this, but instead trap signal to do what I want ?









share|improve this question














I wrote a script which open a new terminal ( gnome ) and a bunch of tabs (
40 more or less ), which is supposed to run infinitly. It could crash, and it does, and I would like to easily rerun the injected command from the same tab.



It look like this :



script='gnome-terminal'
tab='--tab-with-profile=scan'

for (( i = 0; i < len; i+=2 ));
do
script+=" $tab --title="$you[i]" -e "bash -c 'node scan $you[i+1]; bash;'""
done

eval "$script" $>/dev/null
&& kill -9 $PPID
|| errorProfile


I have set on the profile the option "hold open on stop", but I can't retrieve my command as it is not pushed in history. The very minimal repro for this look like this :



gnome-terminal -e 'bash -c "ls; bash"'


I have tried a few stuff, from



gnome-terminal -e 'bash -c "history -s ls; bash"'


to



gnome-terminal -e 'bash -c ". ~/bashrc; ls; bash"'


But nothing work, and my history is not filled with the -c arg.



My understanding is that running bash inside a terminal create a session which is not related to the parent terminal, and as I need to use it to run command in my freshly created terminal, maybe this is an unsolvable problem ?



In addition:



  • Can we regain control on a terminal when the profile option "hold open when process finish" ?

  • Is it possible to not use the profile option to manage this, but instead trap signal to do what I want ?






linux bash tabs gnome-terminal






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 10:09









LouisbLouisb

35018




35018












  • You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

    – Louisb
    Nov 15 '18 at 10:10

















  • You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

    – Louisb
    Nov 15 '18 at 10:10
















You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

– Louisb
Nov 15 '18 at 10:10





You probably notice the && kill -9 $PPID . I use it because my gnome-terminal is not opening a new window to launch all my tabs, but instead launch tabs next to him, even with the new-terminal-mode : window in dconf-editor activated. This happen after an upgrade from Ubuntu 16 to 18. Is it an expected behaviour ?

– Louisb
Nov 15 '18 at 10:10












0






active

oldest

votes












Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316993%2fbash-hold-gnome-terminal-open-get-history-and-regain-control-after-exit%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316993%2fbash-hold-gnome-terminal-open-get-history-and-regain-control-after-exit%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Use pre created SQLite database for Android project in kotlin

Darth Vader #20

Ondo