11

I'm running Xubuntu. When I run something that produces a lot of output to the terminal (such as my code, generally....!) I find that it is not possible to "freeze" the screen, to take a look at a particular point in the run.

For example: my code is generating output, and typically (in other machines) I can move the mousewheel upwards. This in essence stops the terminal from following the latest output to the screen and you can, at your leisure, look at the output while more is generated underneath. To catch up, I'd normally tap the down arrow on the keyboard, it would jump to the latest line, and follow.

xfce4-terminal 0.6.1 does not follow this behaviour, and I'd like to know if there is a way to enable it. Apologies if this is somewhat badly described....

5
  • I should add... the current behaviour: when I attempt to remain in one point in the output, as soon as there is new output it will snap down to it - annoying!
    – Dave
    Dec 10, 2013 at 23:54
  • you could see the output a screen at at time by using the more command. This will not show you the output in realtime, the program will run even when the screen is stopped. To do this you would "pipe" (|) (it is above the enter on the same key as the backslash. you would type it out as my-code | more take note of the space before and after the (|). after you run you command you would see a page of the output and a "more" at teh bottom of the screen, when you press "space" it will scroll to the next page till it reaches the end of the output.
    – TrailRider
    Dec 11, 2013 at 0:00
  • Hi TailRider, thanks for the comment: it's not really ideal, and I'd prefer not to pipe it - not least as when I want to "catch up" to monitor progress, that would require a lot of hitting Space!. That said, an option (as an experiment) is a redirect to a file and then trying a "tail -f" - perhaps that gives me a different terminal behaviour? I'll have a go.
    – Dave
    Dec 11, 2013 at 0:34
  • I didn't think that it was quite what you wanted but it's the only workaround I know, I'm sure there are others but it's beyond my knowledge. tail -f might work but it may still scroll as the info is updated so it may not be much better than the default behavior....I'm not sure. Sorry I could not be of more help, I know a few tricks but am far from a expert...
    – TrailRider
    Dec 11, 2013 at 0:48
  • "For example: my code is generating output, and typically (in other machines) I can move the mousewheel upwards. This in essence stops the terminal from following the latest output to the screen and you can, at your leisure, look at the output while more is generated underneath." Dave, can you please provide the name of a terminal (and OS) that does what you want?
    – user25656
    Dec 11, 2013 at 1:31

3 Answers 3

18
  1. Open Xfce Terminal preferences: Edit > Preferences...
  2. On the Scrolling section of the General tab uncheck the Scroll on output checkbox

With this option the terminal still scrolls automatically on new output, but if you scroll upwards it'll stop scrolling automatically.

3

In case anyone's interested, here's how to do this using the command line:

grep -q ScrollingOnOutput ~/.config/xfce4/terminal/terminalrc || echo "ScrollingOnOutput=FALSE" >> ~/.config/xfce4/terminal/terminalrc && sed -i -E 's/^ScrollingOnOutput=.*/ScrollingOnOutput=FALSE/' ~/.config/xfce4/terminal/terminalrc
0

To do this manually in a terminal, I opened the terminalrc file with vim

$ vi ~/.config/xfce4/terminal/terminalrc

And added the following line:

ScrollingOnOutput=FALSE

Other open terminals immediately recognized the change.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .