I'm using nano inside a MATLAB session that is running inside a screen (-x) terminal. I accidentally hit Ctrl-Z and it immediately leaves nano, prints "Use "fg" to return to nano", but does not show a command prompt. Whatever I type appears on the screen but nothing responds. If I hit Ctrl-Z, ^Z just prints to the screen. Any ideas? Using 12.04.
-
You should have a prompt after hitting ctrl-z. I have... it seems that this is not happening in your case. How exactly do you run `nano` in the terminal? – Rmano May 16 '14 at 20:07
-
I just realized I'm not really using 12.04. I am in fact running `nano` from inside a MATLAB session, which is (obviously) the problem (sorry about neglecting to mention that; I'd forgotten I was in MATLAB). Calling `jobs` in another screen does not list any jobs to pull up. – user282315 May 16 '14 at 22:35
4 Answers
If it's the only backgrounded process entering % followed by Return should return you to nano.
That said running fg should work too. It's a shell builtin that takes the last job and returns it to the fore. Even when you have more than one job, it should bounce you back to the newest one.
- 289,791
- 117
- 680
- 835
-
13imo, this is the real answer, it does what the op ask's , reopen the closed (ctrl+z) Nano windows. – DonSeba Oct 26 '15 at 08:25
-
-
-
4
-
-
1"The correct answer is *likely* not the accepted one." #sad-but-true – vulcan raven Dec 02 '20 at 11:03
-
-
the only thing that was missing in this answer for me is the mention that fg is actually a command for the commandline. As a noob in linux commandline this might be valuable information. `fg` worked perfectly for me though. – Kathara May 30 '22 at 07:57
List your jobs
jobs
Bring a job to the foreground
fg 1
change the "1" to the job number corresponding to nano.
In the comments the author says that he or she is running the nano command from Matlab, and that there is no prompt whatsoever after suspending it with CTRL-Z. This is probably a bug in Matlab(1) which should not allow a CTRL-Z arrive to nano if it can't cope with it...
The problem is that the shell command fg (and bg, and jobs) works only with direct children of the shell. But you can continue a stopped process from another shell, although this will not guarantee that the status of the screen is correctly managed:
in another terminal window, find the
nanoprocess:% ps ugx | grep nano romano 10600 0.0 0.0 20784 1628 pts/11 T 16:52 0:00 nano prova romano 10653 0.0 0.0 18256 900 pts/11 S+ 16:53 0:00 grep nanoNotice that it is stopped (state
T)Continue it with
kill -CONT 10600
...and hope it works (can mess up the terminal greatly). You can also trying a
killall -CONT nano
that way the CONT signal is sent to all the "nano" processes (shouldn't be a problem though).
Footnotes:
(1) I tried with octave: EDITOR=nano octave and then edit file in octave. Pressing CTRL-Z messes the things up quite well... so maybe it's not Matlab but a strange interaction on who receive and manage the TSTP signal.
- 31,627
- 16
- 118
- 187
-
Awesome, that did it. This issue had been bothering me for a while! Logging a bug with TheMathWorks. Thanks! – user282315 May 16 '14 at 23:08
-
1
In Lubuntu I just use the F12 key ... and window with terminal come back.
- 6,920
- 1
- 26
- 50
- 101
- 2