4 ms·
iTerm looks nice, but is there a reason to switch from Terminal.app? The "jobs" sidebar looked great until I discovered that it only works for local processes,
by lobster_johnson 12y ago
iTerm looks nice, but is there a reason to switch from Terminal.app? The "jobs" sidebar looked great until I discovered that it only works for local processes, for example.
Generally, it seems there is a lot of room for improvement in terminal apps these days:
- Probably upwards of 90% of my terminal work involves SSH, and it seems like a huge missed opportunity not to integrate with SSH in any significant way. iTerm doesn't even bother, whereas Terminal.app's "New Remote Connection" is pretty useless. (It should at least be able to infer my commonly used hosts from OpenSSH's known_hosts file.)
- A terminal should be able to discover the currently running remote process, or at least what host I'm connected to. Neither Terminal nor iTerm do this. My tabs always say "ssh", and so I have to hunt for the right tab to find my shell.
- Persistent shells. Today, when I want to open a remote shell on a host, I open a Terminal tab and do "ssh <host>". If something goes wrong with my connection, I have to go back in manually, and the shell state is lost, and any interactive program not running with "nohup" will probably have terminated. If I close a tab and ssh back in, my state is also lost. If I want multiple shells on the same box, I have to either use multiple tabs, or a kludge like screen or tmux that tries to be a terminal within a terminal. I want to ssh to a server and be exactly where I was.
- No I/O integration. Why can't I cat a file into my terminal app in order to copy or download the contents? Why can't I pipe a local file into a remote shell?
- Grepping. It would be swell if I could tell the terminal to filter its current window contents by a pattern. I don't mean highlighting results, I mean only showing lines matching a pattern. Often I end up doing "tail -f some.log | grep foo", then "...grep bar", "...grep -C10 bar" because I'm not quite what I'm looking for. With this built-in grepping feature, I could do "tail -f some.log", set up a pattern in the terminal app itself, and I could watch it display different matches interactively as I change the pattern.
- deepGem 12y agoFor managing SSH connections have you tried the profiles on iTerm ? It's not exactly what you are looking for but might at least save you from repetitive typing.
- lobster_johnson 12y agoThat doesn't solve the problem of having to create each one manually, when there is a perfectly good list (known_hosts) lying around. I have several dozens hosts I connect to almost daily. (Yes, I do use tools like Puppet and dsh for configuration management, and probably should use them more, but sometimes you have to get your hands dirty.) Unfortunately iTerm's solution is even less useful than Terminal's remote connections, since in iTerm each profile have associated settings like colours and cursor type, things which should be the same across all connections.
- base698 12y agoFor grepping you can use tmux's search back/up. It's ctrl-o ? I don't know how people live without it. There is probably a way to dump the stdout history, but a quick google on mobile didn't find it.