From a48f4014dae78efbed1e72bb6dd6a2dbe6943c48 Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:40:01 -0500 Subject: [PATCH 1/8] Addition of Debian Gnome / KDE / Manual Execution of Dorothy in Debian/Ubuntu --- docs/dorothy/dorothy-not-loading.md | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index 9d05b9396..285c8e650 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -76,3 +76,50 @@ Close the preferences and open a new terminal tab, now Dorothy should be loaded 4. Save the settings. 5. Use the menu bar `Termina: New Terminal` or the Command Palette `Terminal: Create New Terminal` to open a new terminal. It should now start as a login shell, loading Dorothy as expected. Validate this by running a Dorothy command, like `dorothy theme`, to ensure everything is functioning as intended. + +## Debian Gnome + +1. Select Edit ▸ Preferences. + +2. In the sidebar, click on the + button next to the Profiles label. + +3. Enter a name for the new profile. You can change this name later. + +4. Click Create to create the new profile. + +5. Navigate to command and select 'Run a custom command instead of my shell.' + +6. Type in 'bash -l' to use bash as your command (or another shell of your choosing with the login shell mode enabled). + +7. Click on the arrow next to the profile name (in the left hand sidebar). + +9. Select 'Set as default.' + +10. Save the profile and restart your terminal. + +Source: https://help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.en + +## Debian Konsole (KDE) + +Note: 'Konsole doesn’t provide convenience for running login shell, because developers don’t like +the idea of running login shell in a terminal emulator. +Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "‚bash -l"‚ and +"‚zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf + +If the benefits of configuring Konsole in this manner outweighs the cons, proceed with the following steps: + +1. Navigate to Settings -> Console. + +2. Click Profiles. + +3. Set a name for your profile. + +4. Click 'Default profile' + +5. Type /bin/bash -l in the command textbox (or another shell of your choosing with the login shell mode enabled). + +## Manual Execution of Dorothy in Debian/Ubuntu + +If you prefer to open a bash shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. + +However, this means that upon restarting your terminal you will also have to open a bash shell again. From 1f9969984beaa8c8b657df8a76f0825f12495bad Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:41:47 -0500 Subject: [PATCH 2/8] Fixing broken characters. --- docs/dorothy/dorothy-not-loading.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index 285c8e650..e0556fb69 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -103,8 +103,7 @@ Source: https://help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.en Note: 'Konsole doesn’t provide convenience for running login shell, because developers don’t like the idea of running login shell in a terminal emulator. -Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "‚bash -l"‚ and -"‚zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf +Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l"‚ and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf If the benefits of configuring Konsole in this manner outweighs the cons, proceed with the following steps: From 5f247e9b7834ab764ce11da7d458bdc44e8b26ac Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:42:35 -0500 Subject: [PATCH 3/8] Fixing one more broken character. --- docs/dorothy/dorothy-not-loading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index e0556fb69..6f08ea271 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -103,7 +103,7 @@ Source: https://help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.en Note: 'Konsole doesn’t provide convenience for running login shell, because developers don’t like the idea of running login shell in a terminal emulator. -Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l"‚ and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf +Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l" and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf If the benefits of configuring Konsole in this manner outweighs the cons, proceed with the following steps: From 6d88c733e084a5c0d838cb04a144de8c7f4718c4 Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:43:33 -0500 Subject: [PATCH 4/8] Fixed formatting. --- docs/dorothy/dorothy-not-loading.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index 6f08ea271..27d6bb247 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -101,8 +101,11 @@ Source: https://help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.en ## Debian Konsole (KDE) -Note: 'Konsole doesn’t provide convenience for running login shell, because developers don’t like +Note from KDE.org: + +Konsole doesn’t provide convenience for running login shell, because developers don’t like the idea of running login shell in a terminal emulator. + Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l" and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf If the benefits of configuring Konsole in this manner outweighs the cons, proceed with the following steps: From 2220891af74d1b37b5854785e6d5cc49ffb025e6 Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:46:00 -0500 Subject: [PATCH 5/8] Updated documentation. --- docs/dorothy/dorothy-not-loading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index 27d6bb247..e8ebb2de8 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -108,7 +108,7 @@ the idea of running login shell in a terminal emulator. Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l" and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf -If the benefits of configuring Konsole in this manner outweighs the cons, proceed with the following steps: +If the benefits of configuring Konsole in this manner outweighs the cons for your use case, proceed with the steps below. 1. Navigate to Settings -> Console. From 4010354a618fa987a2ecf4334f8373ebc40feb59 Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:47:23 -0500 Subject: [PATCH 6/8] Updated documentation. --- docs/dorothy/dorothy-not-loading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index e8ebb2de8..b7c0bca31 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -122,6 +122,6 @@ If the benefits of configuring Konsole in this manner outweighs the cons for you ## Manual Execution of Dorothy in Debian/Ubuntu -If you prefer to open a bash shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. +If you prefer to open a bash login shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. However, this means that upon restarting your terminal you will also have to open a bash shell again. From e5250f121d27808eaf32a4b36c02c256a5a7c769 Mon Sep 17 00:00:00 2001 From: Octavian <48574457+octavian-one@users.noreply.github.com> Date: Wed, 4 Dec 2024 21:47:56 -0500 Subject: [PATCH 7/8] Updated documentation. --- docs/dorothy/dorothy-not-loading.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index b7c0bca31..6e18dba7b 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -122,6 +122,4 @@ If the benefits of configuring Konsole in this manner outweighs the cons for you ## Manual Execution of Dorothy in Debian/Ubuntu -If you prefer to open a bash login shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. - -However, this means that upon restarting your terminal you will also have to open a bash shell again. +If you prefer to open a bash login shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. This will not persist across Terminal restarts. From 6d6bfba7159d102a3b1879b4bdacc92c2349346c Mon Sep 17 00:00:00 2001 From: Benjamin Lupton Date: Fri, 20 Dec 2024 12:22:34 +0800 Subject: [PATCH 8/8] docs: implemented feedback from #262 --- docs/dorothy/dorothy-not-loading.md | 78 +++++++++++------------------ 1 file changed, 29 insertions(+), 49 deletions(-) diff --git a/docs/dorothy/dorothy-not-loading.md b/docs/dorothy/dorothy-not-loading.md index 6e18dba7b..f813ea5cd 100644 --- a/docs/dorothy/dorothy-not-loading.md +++ b/docs/dorothy/dorothy-not-loading.md @@ -1,30 +1,43 @@ # What to do if Dorothy is not loading -Installed Dorothy, opened a new terminal, but none of the Dorothy commands are available? +You've installed Dorothy, opened a new terminal, but none of the Dorothy commands are available? It could be that your terminal application is refusing to operate your shell as a login shell, which is how Dorothy (and many other applications) identify whether they should complete loading themselves. If Dorothy were to load itself on non-login shells then every shell command would also have to load Dorothy which would be be an unnecessary slow down to every shell command! By having Dorothy only load inside login shells, we allow everything to work perfectly. So what to do when your terminal isn't opening a login shell? -## Ubuntu +## Manual Invocation -In the top menu bar, tap the terminal application title, and open preferences: +You can manually invoke a login shell by executing any of these commands: + +- Bash: `bash -l` +- ZSH: `zsh -l` +- Fish: `fish -l` +- Nu: `nu -l` +- Xonsh: `xonsh -l` +- Elvish: elvish doesn't have the concept of login shells, so this does not apply. +- Dash: `dash -l` +- KSH: `ksh -l` + +## Gnome Terminal (Ubuntu, Debian, etc.) + +Open the `Terminal` application. In the top menu bar, tap the `Terminal` application title, then open `Preferences`: ![Screenshot of the Ubuntu Terminal Menubar](https://github.com/bevry/dorothy/blob/master/docs/assets/login-shell-ubuntu-menubar.png?raw=true) -Navigate to the active profile, select command, and ensure that login shell is enabled: +Navigate to the active profile, select `Command`, and ensure that the login shell preference enabled/checked: ![Screenshot of the Ubuntu Terminal Preferences](https://github.com/bevry/dorothy/blob/master/docs/assets/login-shell-ubuntu-preferences.png?raw=true) -Close the preferences and open a new terminal tab, now Dorothy should be loaded which you can verify by running `dorothy theme` to select a theme. +Close the Preferences and open a new terminal tab. ## Visual Studio Code 1. Open the Visual Studio Code Command Palette (`Ctrl + Shift + P` on Windows, `Command + Shift + P` on macOS). -2. Open `Preferences: User Settings (JSON)` via typing and enter. +1. Open `Preferences: User Settings (JSON)` via typing and enter. -3. Merge the following JSON with your own JSON: +1. Merge the following JSON with your own JSON: ```javascript { @@ -73,53 +86,20 @@ Close the preferences and open a new terminal tab, now Dorothy should be loaded } ``` -4. Save the settings. - -5. Use the menu bar `Termina: New Terminal` or the Command Palette `Terminal: Create New Terminal` to open a new terminal. It should now start as a login shell, loading Dorothy as expected. Validate this by running a Dorothy command, like `dorothy theme`, to ensure everything is functioning as intended. - -## Debian Gnome - -1. Select Edit ▸ Preferences. - -2. In the sidebar, click on the + button next to the Profiles label. - -3. Enter a name for the new profile. You can change this name later. - -4. Click Create to create the new profile. - -5. Navigate to command and select 'Run a custom command instead of my shell.' - -6. Type in 'bash -l' to use bash as your command (or another shell of your choosing with the login shell mode enabled). - -7. Click on the arrow next to the profile name (in the left hand sidebar). - -9. Select 'Set as default.' - -10. Save the profile and restart your terminal. - -Source: https://help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.en - -## Debian Konsole (KDE) - -Note from KDE.org: - -Konsole doesn’t provide convenience for running login shell, because developers don’t like -the idea of running login shell in a terminal emulator. - -Of course, users still can run login shell in Konsole if they really need to. Edit the profile in use and modify its command to the form of starting a login shell explicitly, such as "bash -l" and "zsh -l" Source: https://docs.kde.org/stable5/en/konsole/konsole/konsole.pdf +1. Save the settings. -If the benefits of configuring Konsole in this manner outweighs the cons for your use case, proceed with the steps below. +1. Use the menu bar `Termina: New Terminal` or the Command Palette `Terminal: Create New Terminal` to open a new terminal. -1. Navigate to Settings -> Console. +## Konsole (KDE) -2. Click Profiles. +1. Navigate to` Settings` ▸ `Console`. -3. Set a name for your profile. +1. Click `Profiles`. -4. Click 'Default profile' +1. Set a name for your profile. -5. Type /bin/bash -l in the command textbox (or another shell of your choosing with the login shell mode enabled). +1. Click `Default profile` -## Manual Execution of Dorothy in Debian/Ubuntu +1. Type one of the [Manual Invocation] commands in the command textbox, e.g. for Bash type `bash -l`. -If you prefer to open a bash login shell directly, you can do so via the command 'bash -l' without having to configure a Terminal profile. This will not persist across Terminal restarts. +1. Close the Preferences and open a new terminal tab.