<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Terminal – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/en/tag/terminal/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de/en</link>
	<description>A German Linux blog, in English</description>
	<lastBuildDate>Wed, 16 Sep 2026 21:59:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Tfm: A modern file manager for the terminal</title>
		<link>https://linuxundich.de/en/tfm-a-modern-file-manager-for-the-terminal/</link>
					<comments>https://linuxundich.de/en/tfm-a-modern-file-manager-for-the-terminal/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 21:59:47 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[File Manager]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=15</guid>

					<description><![CDATA[tfm brings a sidebar, tabs, dual-pane view and mouse support to the terminal – a file manager for everyone who prefers to work there anyway. It still has a few small beta quirks, but it's already worth a look.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">While browsing the web recently, I stumbled across <code>tfm</code>. This terminal file manager wants to take its cues for operation less from classic command-line tools and more from graphical file managers like Dolphin or Nautilus. If you like working directly in the terminal anyway, this is a really interesting find.</p>



<p class="wp-block-paragraph">Among other things, tfm comes with a sidebar, tabs, a dual-pane view, and file previews. The usual file operations like copying, moving, renaming, and deleting are on board as well. What&#8217;s interesting: you don&#8217;t have to work exclusively with the keyboard. Tfm also supports the mouse, so you can select, move, and rename files by drag and drop, for example.</p>



<p class="wp-block-paragraph">That way, tfm combines typical features of graphical file managers with the terminal environment. If you spend a lot of time there anyway, you can manage files and directories without opening a separate graphical app.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a887bd&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a887bd" class="wp-block-image wp-lightbox-container"><img fetchpriority="high" decoding="async" height="967" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01-640x387.webp 640w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01-768x464.webp 768w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01-1280x774.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01-1536x928.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01.webp 1600w" width="1600" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-01.webp" alt="tfm right after launch on Arch Linux, with the sidebar and file view. The interface is reminiscent of classic graphical file managers." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">tfm right after launch on Arch Linux, with the sidebar and file view. The interface is reminiscent of classic graphical file managers.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a88d37&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a88d37" class="wp-block-image wp-lightbox-container"><img decoding="async" height="967" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02-640x387.webp 640w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02-768x464.webp 768w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02-1280x774.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02-1536x928.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02.webp 1600w" width="1600" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-02.webp" alt="You can open the settings with Esc. There you can adjust various options and the look of tfm." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">You can open the settings with Esc. There you can adjust various options and the look of tfm.</figcaption></figure>



<h2 class="wp-block-heading">Installing from the AUR</h2>



<p class="wp-block-paragraph">You can find Tfm in the AUR (Arch User Repository). If you use an AUR helper like <code>yay</code>, you can install the binary version right away. On Arch Linux, this command is all you need:</p>



<pre class="wp-block-code"><code>$ yay -S tfm-tui-bin</code></pre>



<p class="wp-block-paragraph">After that, start the file manager with:</p>



<pre class="wp-block-code"><code>$ tfm</code></pre>



<p class="wp-block-paragraph">If you use a different distribution, the <a href="https://github.com/clarkarch/tfm-tui">project page</a> has instructions for the install script provided there. With it, you install the current version independently of your distribution&#8217;s packages.</p>



<h2 class="wp-block-heading">Nerd Fonts for the icons</h2>



<p class="wp-block-paragraph">For tfm to show folders and files with the intended icons, you need a <a href="https://www.nerdfonts.com/">Nerd Font</a>. These fonts come with additional characters and icons that terminal apps use to display folders, files, and other elements.</p>



<p class="wp-block-paragraph">For this article, I&#8217;m using the Hack Nerd Font. On Arch Linux, the font is available directly in the official repositories and can be installed with <code>pacman</code>:</p>



<pre class="wp-block-code"><code>$ sudo pacman -S ttf-hack-nerd</code></pre>



<p class="wp-block-paragraph">For tfm to display the icons correctly, the Hack Nerd Font only has to be installed on your system. You don&#8217;t need to select the font in your terminal for that. You normally don&#8217;t need to refresh the font cache manually for a package from the Arch repositories either.</p>



<h2 class="wp-block-heading">Beta with a few rough edges</h2>



<p class="wp-block-paragraph">Tfm is still in beta, and you&#8217;ll notice it most in how icons are displayed. In my tests, the Nerd Font symbols didn&#8217;t show up reliably on every start. Folders and other elements sometimes appear without the icons they&#8217;re supposed to have.</p>



<p class="wp-block-paragraph">Restarting tfm or the terminal usually fixes it. What stands out: the icons come back on the next start even without any changes to the font cache, so the problems can&#8217;t be blamed solely on a broken installation of the font.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a89b72&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a89b72" class="wp-block-image wp-lightbox-container"><img decoding="async" height="967" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03-640x387.webp 640w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03-768x464.webp 768w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03-1280x774.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03-1536x928.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03.webp 1600w" width="1600" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-03.webp" alt="tfm in dual-pane mode with two file panes. The view makes it easier to work with files and directories side by side." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">tfm in dual-pane mode with two file panes. The view makes it easier to work with files and directories side by side.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a89fa8&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a89fa8" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="967" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04-640x387.webp 640w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04-768x464.webp 768w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04-1280x774.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04-1536x928.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04.webp 1600w" width="1600" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/09/tfm-archlinux-04.webp" alt="The preview shows text and image files right inside tfm. For image thumbnails, though, you need a terminal with the Kitty Graphics Protocol." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The preview shows text and image files right inside tfm. For image thumbnails, though, you need a terminal with the Kitty Graphics Protocol.</figcaption></figure>



<p class="wp-block-paragraph">For graphical image previews, tfm needs a terminal that supports the Kitty Graphics Protocol. On Linux, Ghostty is a good choice, for example, and its Linux interface is built on GTK4. Gnome Terminal can&#8217;t offer this feature, because the underlying VTE library doesn&#8217;t support the Kitty Graphics Protocol.</p>



<p class="wp-block-paragraph">The rest of the interface isn&#8217;t yet as stable or consistent as what you&#8217;re used to from established file managers, either. If you try tfm, start with files that don&#8217;t matter, and don&#8217;t trust important data to such young software on its own.</p>



<h2 class="wp-block-heading">The most important keyboard shortcuts</h2>



<p class="wp-block-paragraph">Despite the mouse support, the keyboard plays an important role in tfm. You&#8217;ll find the most important commands in the following overview:</p>



<figure class="wp-block-table"><table><thead><tr><th>Shortcut</th><th>Function</th></tr></thead><tbody><tr><td><code>Esc</code></td><td>Open menu</td></tr><tr><td><code>Enter</code></td><td>Open file or folder</td></tr><tr><td><code>Backspace</code></td><td>Go up one directory level</td></tr><tr><td><code>F2</code></td><td>Rename file or folder</td></tr><tr><td><code>Tab</code></td><td>Switch between the two file panes</td></tr><tr><td><code>F5</code></td><td>Copy selection to the other pane</td></tr><tr><td><code>F6</code></td><td>Move selection to the other pane</td></tr><tr><td><code>Strg</code>+<code>C</code> / <code>Strg</code>+<code>X</code> / <code>Strg</code>+<code>V</code></td><td>Copy / Cut / Paste</td></tr><tr><td><code>Strg</code>+<code>D</code></td><td>Duplicate selection</td></tr><tr><td><code>Entf</code></td><td>Move selection to the trash</td></tr><tr><td><code>Strg</code>+<code>Z</code> / <code>Strg</code>+<code>Y</code></td><td>Undo / Redo</td></tr><tr><td><code>Strg</code>+<code>T</code> / <code>Strg</code>+<code>W</code></td><td>Open / close tab</td></tr><tr><td><code>Strg</code>+<code>Tab</code></td><td>Switch between tabs</td></tr><tr><td><code>Alt</code>+<code>Enter</code></td><td>Show properties</td></tr><tr><td><code>Strg</code>+<code>H</code></td><td>Show hidden files</td></tr><tr><td><code>Strg</code>+<code>L</code></td><td>Open path bar</td></tr><tr><td><code>Strg</code>+<code>G</code></td><td>Switch between list and grid view</td></tr><tr><td><code>F9</code></td><td>Show or hide preview</td></tr><tr><td><code>F4</code></td><td>Open terminal in the current directory</td></tr><tr><td><code>Strg</code>+<code>Umschalt</code>+<code>S</code></td><td>Connect to a server</td></tr><tr><td><code>Strg</code>+<code>Q</code></td><td>Quit tfm</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">All in all, tfm is a likable find for me, especially for anyone who spends all day in the terminal anyway. The sidebar, tabs, dual-pane view, preview and mouse control add a level of comfort you normally don&#8217;t get on the command line. If you like, you can even switch on animations – a <a href="https://www.reddit.com/r/tui/comments/1wh46e9/beta_release_tfm_terminal_file_manager_for_linux/">video on Reddit</a> shows what that looks like.</p>



<p class="wp-block-paragraph">Keep the quirks of the beta phase in mind, though, above all the icon rendering and the interface, which isn&#8217;t quite polished yet. I&#8217;ll keep following the development, and right now I&#8217;d mainly recommend tfm for trying it out – preferably with non-critical files until the software has matured a bit.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/tfm-a-modern-file-manager-for-the-terminal/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Rutile 0.2.2 – A Modern Alternative to Tilix</title>
		<link>https://linuxundich.de/en/rutile-0-2-2-a-modern-alternative-to-tilix/</link>
					<comments>https://linuxundich.de/en/rutile-0-2-2-a-modern-alternative-to-tilix/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 06:50:10 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Terminal]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=11</guid>

					<description><![CDATA[Rutile is a new terminal emulator for GNOME that brings Tilix's proven way of working to GTK4, libadwaita, and Rust. The project is still in an early stage of development, but it already offers recursive terminal splits, multiple sessions, and synchronized input for getting real work done.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">For many years, <a href="https://github.com/gnunn1/tilix">Tilix</a> has been one of those terminal programs <a href="https://linuxundich.de/bug-jaeger-vs-terminal-entwickler-aus-terminix-wird-tilix/" data-type="post" data-id="40376">I keep installing again and again</a>. Being able to split the terminal area however I like and manage several shells at the same time has made my daily work a lot easier. Unfortunately, the project is hardly maintained anymore and is still based on GTK3 and VTE3.</p>



<p class="wp-block-paragraph">That&#8217;s why <a href="https://github.com/yatoub/Rutile">Rutile</a> is an interesting project to watch. The developers aren&#8217;t simply continuing Tilix. They are rebuilding the terminal emulator completely in Rust, while keeping the same way of working. The goal isn&#8217;t to reinvent anything, but to create a modern implementation that fits right into current GNOME systems with GTK4 and libadwaita.</p>



<h2 class="wp-block-heading">A proven concept on a modern foundation</h2>



<p class="wp-block-paragraph">Many terminal emulators differ mainly in how they look or in a few minor extra features. Rutile takes a different approach. The goal is to carry over the way Tilix works as completely as possible and put it on a modern technical foundation. Existing users should feel at home right away.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a94924&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a94924" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="817" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01.webp 1569w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1280x817.webp" alt="The Rutile terminal emulator on GNOME on Arch Linux with several open terminals showing system information, file listings and CPU usage." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The buttons let you create new terminal panes horizontally or vertically. The controls deliberately follow the familiar Tilix concept.</figcaption></figure>



<p class="wp-block-paragraph">The app uses GTK4, libadwaita and VTE4, so it benefits from current libraries of the <a href="https://linuxundich.de/tag/gnome/" data-type="post_tag" data-id="1734">GNOME desktop</a>. At the same time, the developers have chosen Rust as the programming language. In the long run, that promises a more maintainable codebase and makes it possible to build new features on a modern architecture.</p>



<h2 class="wp-block-heading">Flexible terminal splitting</h2>



<p class="wp-block-paragraph">Rutile takes its most important feature straight from Tilix. You can split the terminal window recursively, both horizontally and vertically, and every pane can be split again. That gives you flexibly nested workspaces, without the app being locked into a fixed grid or a particular window layout.</p>



<p class="wp-block-paragraph">In everyday use, this way of working has plenty of advantages. On the left, for example, you can watch log files while several servers or containers are open on the right. You switch between the individual panes comfortably with the keyboard. That saves mouse movements and keeps things flowing when you&#8217;re working on more complex tasks.</p>



<p class="wp-block-paragraph">Other terminals like <a href="https://ghostty.org/">Ghostty</a> offer this feature too, but you have to memorize key combinations for it. Alternatively, you can of course use a terminal multiplexer like <a href="https://github.com/tmux/tmux/wiki">tmux</a>. The same applies there, though. Even if it&#8217;s not a lot of key combinations: personally, I simply want buttons for this.</p>



<h2 class="wp-block-heading">Multiple independent sessions</h2>



<p class="wp-block-paragraph">Besides the freely splittable terminal panes, Rutile supports multiple separate sessions. Each session has its own window layout and its own working context. That way you can keep different projects or tasks neatly apart without having to open several program windows.</p>



<p class="wp-block-paragraph">You switch between sessions either with a keyboard shortcut or through a sidebar. The sidebar shows small thumbnails of each working environment and is hidden by default. If you need it, just show it from the toolbar, and you&#8217;ll find it easier to keep track of things even with lots of open sessions.</p>



<h2 class="wp-block-heading">Synchronized input</h2>



<p class="wp-block-paragraph">One feature I find especially handy is synchronized input. When you enable it, Rutile sends every keystroke to several terminal panes in a session at the same time. That saves a lot of time when you need to run identical commands on several servers or virtual machines.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a954b1&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a954b1" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="817" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02.webp 1569w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1280x817.webp" alt="Two terminal windows side by side showing Linux commands and file listings, with a dropdown menu in the left window offering options for splitting horizontally and vertically as well as synchronized input." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Synchronized input lets you run identical commands on several servers, containers, or virtual machines at the same time. You can exclude individual panes.</figcaption></figure>



<p class="wp-block-paragraph">You can exclude individual terminal panes from the shared input at any time. That way, specific systems can get different commands without you having to turn off synchronization completely. Still, a bit of caution is a good idea, because a faulty command will otherwise run on all connected systems at the same time, too.</p>



<h2 class="wp-block-heading">Familiar Controls</h2>



<p class="wp-block-paragraph">The keyboard shortcuts also follow the original closely. With <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>O</kbd> and <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>E</kbd> you split the window horizontally or vertically. <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>W</kbd> closes the active pane, while the arrow keys switch between the individual terminal panes.</p>



<p class="wp-block-paragraph">You open new sessions with <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>T</kbd>. To switch between existing sessions, press <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Page Up</kbd> or <kbd>Page Down</kbd>. If you prefer working with the mouse, you can also reach the same functions through the toolbar or the context menu of each terminal pane.</p>



<h2 class="wp-block-heading">Still in an early stage of development</h2>



<p class="wp-block-paragraph">Rutile is still at the very beginning of its development. The first version deliberately focuses on the most important features. Things like a Quake mode, saving complete sessions, desktop notifications, or Nautilus integration are meant to come later, once the existing features work reliably.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a9759a&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a9759a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="817" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03.webp 1569w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1280x817.webp" alt="Screenshot of the Rutile terminal with an ASCII art logo and an open settings window showing the text 'Coming later' and hints at future theme variants." class="wp-image-45273" style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Many features are already there. According to the roadmap, though, some settings and convenience features won&#8217;t be added until later versions.</figcaption></figure>



<p class="wp-block-paragraph">I think this is a sensible approach. Instead of shipping as many features as possible early on, the project first concentrates on a stable core. Especially with tools that many users rely on every day, reliability and a consistent way of working matter more than a long feature list.</p>



<p class="wp-block-paragraph">What is really missing right now are translations. Some dialogs currently show up only in French. You also can&#8217;t change the terminal colors directly in the settings yet. The default color scheme makes programs like Midnight Commander hard to read in places. That said, the current version of Rutile was only released a few days ago, so I expect something will happen here soon.</p>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">On Arch Linux, Rutile is available in the AUR both as a source package and as a precompiled version. For Debian, Ubuntu, and Fedora, the developers provide ready-made DEB and RPM packages. You can also download a standalone binary, as long as the required GTK4 components are already installed. All the installation details are on the <a href="https://github.com/yatoub/Rutile#installation" data-type="link" data-id="https://github.com/yatoub/Rutile#installation">project&#8217;s GitHub page</a>.</p>



<p class="wp-block-paragraph">If you have been using Tilix for years and want to move to a modern GTK4 foundation, you should keep an eye on Rutile. A few features are still missing, but what I have seen of its development so far looks very promising. The project has a clear focus and could grow into a worthy successor to Tilix.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/rutile-0-2-2-a-modern-alternative-to-tilix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Termsonic: A Subsonic Client for the Terminal</title>
		<link>https://linuxundich.de/en/termsonic-a-subsonic-client-for-the-terminal/</link>
					<comments>https://linuxundich.de/en/termsonic-a-subsonic-client-for-the-terminal/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 13 Mar 2025 06:19:21 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Navidrome]]></category>
		<category><![CDATA[Subsonic]]></category>
		<category><![CDATA[Terminal]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=92</guid>

					<description><![CDATA[Termsonic is a lean Subsonic client for the terminal. It lets you play and manage your music straight from the command line, which makes it a good fit for minimalists and Linux users who prefer lightweight solutions.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I run my own music streaming server with <a href="https://www.navidrome.org/">Navidrome</a> and access it from everywhere. On Android, for example, I use <a href="https://symfonium.app/">Symfonium</a>, and it works wonderfully on Android Auto, too. On Linux, though, things don&#8217;t look so rosy right now. Good clients for Subsonic servers have become rare: development of <a href="https://sublimemusic.app/">Sublime Music</a> and <a href="https://github.com/jeffvli/sonixd">Sonixd</a> has been discontinued, and other alternatives are often outdated or half-baked. That leaves pretty much only Navidrome&#8217;s web frontend, but somehow I like having a &#8220;real&#8221; client. So why not move straight to the terminal? This is where Termsonic comes in.</p>



<h3 class="wp-block-heading" id="was-ist-termsonic">What is Termsonic?</h3>



<p class="wp-block-paragraph"><a href="https://git.sixfoisneuf.fr/termsonic/about/">Termsonic</a> is a Subsonic client for the terminal with a rather nice and easy-to-use terminal user interface (TUI). It runs on Linux, Windows and macOS and works with most Subsonic-compatible servers. Among others, it has been successfully tested with Navidrome.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a9b241&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a9b241" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="709" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2025/03/termsonic-player-640x386.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/termsonic-player-768x463.webp 768w, https://linuxundich.de/wp-content/uploads/2025/03/termsonic-player.webp 1176w" width="1176" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/termsonic-player.webp" alt="Termsonic is a simple but quite practical Subsonic client for the terminal. The app is available cross-platform for Linux, macOS and Windows." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Termsonic is a simple but quite practical Subsonic client for the terminal. The app is available cross-platform for Linux, macOS and Windows.</figcaption></figure>



<p class="wp-block-paragraph">The app plays FLAC, OGG and MP3 files. One big advantage: these formats are decoded natively in Go, so there are hardly any external dependencies. You don&#8217;t need to install ffmpeg or LAME.</p>



<p class="wp-block-paragraph">Besides plain playback, Termsonic lets you browse your music library by artists, albums and playlists. A simple queue management lets you play your songs in a sensible order.</p>



<h3 class="wp-block-heading" id="installation-unter-arch-linux">Installation on Arch Linux</h3>



<p class="wp-block-paragraph">On Arch Linux, you can conveniently install Termsonic from the Arch User Repository (AUR). If you use the AUR helper <code>yay</code>, the following command is all you need. After the installation, you can start the player with <code>termsonic</code>.</p>



<pre class="wp-block-code"><code>### Arch Linux, Manjaro und Co.
$ &lt;strong&gt;yay -S termsonic-git&lt;/strong&gt;</code></pre>



<p class="wp-block-paragraph">On other distributions such as Ubuntu or Debian, Termsonic is rarely found in the repositories. Thanks to the few dependencies, though, it is very easy to build the program from source yourself.</p>



<pre class="wp-block-code"><code>&lt;strong&gt;$ git clone https://git.sixfoisneuf.fr/termsonic&lt;/strong&gt;
$ &lt;strong&gt;cd termsonic&lt;/strong&gt;
$ &lt;strong&gt;go build ./cmd/termsonic/&lt;/strong&gt;
$ &lt;strong&gt;sudo cp termsonic /usr/local/bin&lt;/strong&gt;</code></pre>



<h3 class="wp-block-heading" id="konfiguration-von-navidrome">Configuring Navidrome</h3>



<p class="wp-block-paragraph">On the first start, you enter the URL and the credentials for your Subsonic server (Navidrome in my case). Right after that, you see your music collection. With [F1] you get a tree view of the collection. [F2] shows the current queue. [F3] shows the playlists created on the server. Under [F4] you can change the settings again.</p>



<p class="has-pale-cyan-blue-background-color has-background wp-block-paragraph"><strong>Tip:</strong> If you use a &#8220;proper&#8221; terminal app such as the one from the GNOME desktop environment or, as here, Tilix, you can also operate Termsonic with the mouse.</p>



<p class="wp-block-paragraph">With [L] you jump to the next song. [P] pauses or resumes playback. With [/] you open a search field that filters the list of artists. At the top right, Termsonic shows the song that is currently playing plus the matching artist. Frills like the album cover are not something Termsonic offers, though.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae0589a9be73&quot;}" data-wp-interactive="core/image" data-wp-key="6ae0589a9be73" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="709" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2025/03/termsonic-filter-640x386.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/termsonic-filter-768x463.webp 768w, https://linuxundich.de/wp-content/uploads/2025/03/termsonic-filter.webp 1176w" width="1176" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/termsonic-filter.webp" alt="Type a forward slash in the artist overview to activate a filter that searches your music collection for artists." style="width:100%"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Type a forward slash in the artist overview to activate a filter that searches your music collection for artists.</figcaption></figure>



<p class="wp-block-paragraph">Termsonic is an interesting alternative for everyone who wants to manage and play their music right in the terminal. The minimalist approach with few dependencies makes for a lean, resource-friendly app, perfect for lightweight systems or underpowered laptops.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/termsonic-a-subsonic-client-for-the-terminal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
