dtach
nushell
dtach | nushell | |
---|---|---|
13 | 214 | |
447 | 30,081 | |
- | 1.7% | |
0.0 | 9.9 | |
almost 7 years ago | 4 days ago | |
C | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dtach
- "<ESC>[31M"? ANSI Terminal security in 2023 and finding 10 CVEs
-
Neovim Remote ssh
ssh from your favourite terminal to your workstation works fine. (I spent two COVID years working that way.) If you use multiple terminals, look up ssh multiplexing to improve performance a bit. If you want to keep remote sessions alive without mucking up your preferred terminal, try dtach.
-
Boot to Vim, Vim as PID 1
Not the same, but I really dig using vim (neovim) as my terminal multiplexer. Vim has tools for managing windows, splits, all the things, and it felt redundant having two separate tools.
The one thing I needed was a way to attach/detach it, and have it survive across ssh disconnects. I struggled for a while trying to use things like reptyr or others. Eventually I remembered/rediscovered dtach, which is a very thin very simple proxy, as opposed to a full on terminal emulator / multiplexer. https://github.com/crigler/dtach
- Taking out the garbage
-
Is TMUX necessary when using emacs?
Not really, and for what TRAMP + vterm doesn't cover such as unexpected disconnects, there's dtach and detached.el.
-
After years on Linux, I just discovered Vim & TMUX. They're fucking amazing.
GNU Screen, tmux and dtach (with convenient Emacs interface) all serve to limit that problem.
-
Console – An Interview with Kovid Goyal of Kitty, the GPU Based Terminal
> What's an opinion you have that most people don't agree with?
> Haha. I specialize in having opinions people don’t agree with :) In kitty, the most controversial is probably that terminal multiplexers are the devils’ gift to mankind.
I cannot agree strongly enough that the virtualized rendering done by programs like screen & tmux is a curse. Trying to get truecolor tmux+ssh+tmux+vim working in truecolor mode is a disaster. Terminal-multiplexers emulate a screen and then render their buffered session to whomever is attached, and it's a frustrating, bad, lossy process. Often the original session and what attaches don't match, and there's not much one can really do. I am not a terminal expert but the situation seems awful, & is one of the highest elder crafts of computing, far more subtle & deranged than one could ever imagine.
Kitty tries to re-build a lot of these terminal multiplexer functionalities itself. It has tabs, it has splits. Generally kitty is a pretty do-all terminal system. Afaik there's not really any way presently to solve the root of these mismatch problems, which is basically that programs generally don't reevaluate their TERM environment variable, even though these environs are technically editable at runtime (by the process, or outsiders).
Kovid (Kitty author) talks about being a vim user. I too am a vim user. In fact, one of my favorite techniques has been to just live inside vim, to use it's terminal emulator, to get ok (i'm still pretty not good) at using it's splits and windows to lay stuff out. The one missing agent for me was that I wanted a way to be able to detach my vim session & come back latter. I spent considerable time trying reptyr & other ways to reattach processes. After much failure at getting vim to detach/reattach, to persist across sessions, I eventually re-encountered a program dtach[1] I'd run into years ago, which works great. Unlike tmux and screen, it's not a terminal emulator. It's just a dumb pipe that a program can render into, and a way to reattach to that pipe again latter. It can run in detached mode so that if your session exits, the program stays open. This way, I can just open vim & have my entire workspace inside vim, with whatever terminals I need, and detach/reattach the vim session at my leisure.
[1] https://github.com/crigler/dtach
-
Are there any Discord Ticker Bots?
So now whenever you execute that command, it will update the channel with the current price. You can then run it on a loop, crontab, whatever you want. One of my favorite things to do is to use while $true loops, and applications like dtach.
- Recommendation: Terminal Multiplexer
-
I am so glad and excited when I learn about multiple windows on vim, guess I'll use it more often.
i prefer to use dtach for that if I only need this feature
nushell
-
Exploring Nushell, a Rust-powered, cross-platform shell
The first method is through downloading the pre-built binaries. With this method, you don't need to install anything other than Nushell's dependencies. Once you've downloaded the binaries, add them to your system's environment path to run it directly in your terminal.
-
PowerShell: The object-oriented shell you didn't know you needed
I rather nushell for this purpose, it's more fun to write and easier to read.
https://www.nushell.sh/
-
NuShell - Ceci n'est pas une |
These are just three small examples of what this shell written in Rust allows. The features are many and many more, but I'll leave it up to you to discover and enjoy them; I'm currently playing around with it and it's giving me a lot of satisfaction and immediacy, now it has a fixed place among the tools I use when working! The project is Open Source, so if you want to contribute, I invite you, as always, to do so, I leave you the link to the repo here!
- Xonsh: Python-powered, cross-platform, Unix-gazing shell
-
Fish shell 3.7.0: last release branch before the full Rust rewrite
Any thoughts on fish as compared to nushell [0]? It's similar to PowerShell in its philosophy and is also written in Rust.
[0] https://github.com/nushell/nushell
-
jc: Converts the output of popular command-line tools to JSON
> In PowerShell, structured output is the default and it seems to work very well.
PowerShell goes a step beyond JSON, by supporting actual mutable objects. So instead of just passing through structured data, you effectively pass around opaque objects that allow you to go back to earlier pipeline stages, and invoke methods, if I understand correctly: https://learn.microsoft.com/en-us/powershell/module/microsof....
I'm rather fond of wrappers like jc and libxo, and experimental shells like https://www.nushell.sh/. These still focus on passing data, not objects with executable methods. On some level, I find this comfortable: Structured data still feels pretty Unix-like, if that makes sense? If I want actual objects, then it's probably time to fire up Python or Ruby.
Knowing when to switch from a shell script to a full-fledged programming language is important, even if your shell is basically awesome and has good programming features.
-
Ripgrep is faster than {grep, ag, Git grep, ucg, pt, sift}
Maybe if the "popular" shells, but http://www.nushell.sh/ is looking better and better
- "<ESC>[31M"? ANSI Terminal security in 2023 and finding 10 CVEs
-
jq 1.7 Released
Yeah agreed, especially now that PowerShell is available cross-platform.
Nushell[1] also seems like a promising alternative, but I haven’t had a chance to play with it yet.
[1]: https://www.nushell.sh/
-
The Case for Nushell
I also discovered an existing discussion[1] related to this topic which includes a link[2] to a "helper to call nushell nuon/json/yaml commands from bash/fish/zsh" and a comment[3] that the current nushell dev focus is "on getting the experience inside nushell right and [we] probably won't be able to dedicate design time to get the interface of native Nu commands with an outside POSIX shell right and stable.".
[0] https://gitlab.com/RancidBacon/notes_public/-/blob/main/note...
[1] "Expose some commands to external world #6554": https://github.com/nushell/nushell/issues/6554
[2] https://github.com/cruel-intentions/devshell-files/blob/mast...
[3] https://github.com/nushell/nushell/issues/6554#issuecomment-...
What are some alternatives?
abduco - abduco provides session management i.e. it allows programs to be run independently from its controlling terminal. That is programs can be detached - run in the background - and then later reattached. Together with dvtm it provides a simpler and cleaner alternative to tmux or screen.
fish-shell - The user-friendly command line shell.
Mosh - Mobile Shell
elvish - Powerful scripting language & Versatile interactive shell
vim-tig - Do a tig in your vim
starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
dtach - Updated version of Ned T. Crigler's wonderful dtach utility, simplified with the eventual goal of being scriptable.
PowerShell - PowerShell for every system!
OpenSSH-LINEMODE - This is an import of the portable OpenSSH CVS tree, with hacks to support client-side input line editing. This feature is desirable because it eliminates character echoing delays when working with remote servers across distant and/or slow networks, and also helps cut down on the number of bytes and packets transmitted in an interactive session.
alacritty - A cross-platform, OpenGL terminal emulator.
vim-graphical-preview - Small plugin for Vim to display graphics with SIXEL characters
xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.