dtach
cosmopolitan
dtach | cosmopolitan | |
---|---|---|
13 | 201 | |
447 | 15,241 | |
- | - | |
0.0 | 9.8 | |
almost 7 years ago | about 15 hours ago | |
C | C | |
GNU General Public License v3.0 only | ISC 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
cosmopolitan
-
Python Is Portable
The reality is a bit different, the work on Python 3.6 was checked into the Cosmopolitan repo and I have been able to use it for production workloads that are in pure python. [0]
As Cosmopolitan Libc has evolved, it has been possible to compile more software without modifications, and that includes latest Python through a project called superconfigure[1].
Last person who tried to reproduce it from scratch did it last week (granted it too them a few days of solid work) but in the end they ended with a portable binary with Python 3.11.9, brotli, ssl and asyncio for their work related project.[2]
[0] https://github.com/jart/cosmopolitan/tree/master/third_party...
-
Ask HN: What Underrated Open Source Project Deserves More Recognition?
Cosmopolitan https://github.com/jart/cosmopolitan and https://justine.lol/cosmopolitan/index.html
Some genius realized that you can actually embed valid win32 programs inside valid posix shell scripts, and found a way to make a C cross-platform solution out of it, meaning that you can write C programs that compile to a single executable that will run on (quoting the site) Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS
It all started from this post.
- Cosmopolitan – build-once run-anywhere C library
-
Show HN: Usr/bin/env Docker run
For this .args file, put one argument per line. This will run on start. You can use `/zip/mydepencency.anything` to read from files, but if you have an executable dependency you'll need to extract it first.
You can do this with any software you can compile with comsocc, by adding a call to LoadZipArgs[1] in the main function.
It'seasy to get started, your ideas will branch out as soon as you start playing with it.
[1]: https://github.com/jart/cosmopolitan/blob/master/tool/args/a...
-
Libwebsockets
FWIW there is ongoing work with good progress to add websocket support to redbean (https://github.com/jart/cosmopolitan/pull/967)
- Release Cosmopolitan v3.2
- Cosmopolitan v3.2
-
Ask HN: ANSI escape sequences reference docs?
Check out this comment by jart (cosmpolitan author) here: https://github.com/jart/cosmopolitan/issues/766#issuecomment...
it might help but not sure how comprehensive it is! would it be a bad idea for you to check out the source code of other popular emulators (maybe iTerm 2^0) ?
0: https://github.com/search?q=repo%3Agnachman%2FiTerm2%20ansi&...
-
Actually Portable Vim (With a Cute Vimrc)
The binary was compiled with Cosmopolitan Libc [0], and therefore the binary will execute natively on Linux, Mac, Windows, FreeBSD, OpenBSD, NetBSD, and bare metal (BIOS boot).
I would call that portable.
[0] https://github.com/jart/cosmopolitan
-
Show HN: PyApp – runtime installer for Python applications
will go on my "to try" list where i already have cosmopolitan [2]. my last setup (windows) was shiv + wine + nsis (used that as pyinstaller had some issues)[2]
[1] https://github.com/jart/cosmopolitan/issues/141#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.
libc - libc targeted for embedded systems usage. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup.
Mosh - Mobile Shell
src - Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.
vim-tig - Do a tig in your vim
SDL - Simple Directmedia Layer
dtach - Updated version of Ned T. Crigler's wonderful dtach utility, simplified with the eventual goal of being scriptable.
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
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.
luastatic - Build a standalone executable from a Lua program.
vim-graphical-preview - Small plugin for Vim to display graphics with SIXEL characters
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io