Dr460nized (not gaming) has Default Shell set to bash but keeps using fish

title says it all, actually. Since I installed dr460nized this last time (for those bluetooth problems and such), my Garuda Assistant settings has the default shell set for bash:

image

But terminal keeps hanging on to fish

any ideas?

System:
  Kernel: 6.6.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1 clocksource: tsc
    available: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=62466f37-c375-42ba-aff7-3394e510b8d5 rw rootflags=subvol=@ quiet
    resume=UUID=b1c2a014-9f50-4873-a7b9-7dd39ebec4f7 loglevel=3 nvidia_drm.modeset=1 ibt=off
  Desktop: KDE Plasma v: 5.27.9 tk: Qt v: 5.15.11 wm: kwin_x11 vt: 2 dm: SDDM
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: G5 5590 v: N/A serial: <superuser required> Chassis: type: 10
    serial: <superuser required>
  Mobo: Dell model: 0F3T2G v: A00 serial: <superuser required> UEFI: Dell v: 1.22.0
    date: 11/10/2022
Battery:
  ID-1: BAT0 charge: 45.4 Wh (100.0%) condition: 45.4/60.0 Wh (75.6%) volts: 16.9 min: 15.2
    model: SMP DELL JJPFK87 type: Li-poly serial: <filter> status: full
CPU:
  Info: model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Coffee Lake gen: core 9 level: v3
    note: check built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xA (10)
    microcode: 0xF4
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 3823 high: 4100 min/max: 800/4500 scaling: driver: intel_pstate
    governor: powersave cores: 1: 4097 2: 4099 3: 4100 4: 4097 5: 4087 6: 800 7: 4100 8: 4100 9: 4099
    10: 4100 11: 4099 12: 4098 bogomips: 62399
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: none off: eDP-1 empty: DP-2,
    DP-3, HDMI-A-2, HDMI-A-3 bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Dell driver: nvidia v: 545.29.02
    alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current (as of 2023-10; EOL~2026-12-xx)
    arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-2022 pcie: gen: 2 speed: 5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 ports: active: none off: DP-1,HDMI-A-1
    empty: none bus-ID: 01:00.0 chip-ID: 10de:1f11 class-ID: 0300
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 mode: 2.0 bus-ID: 1-5:3 chip-ID: 0c45:671f class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.9 with: Xwayland v: 23.2.2 compositor: kwin_x11 driver: X:
    loaded: modesetting,nvidia unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris
    gpu: i915,nvidia,nvidia-nvswitch display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x2160 s-dpi: 96 s-size: 675x570mm (26.57x22.44") s-diag: 883mm (34.78")
  Monitor-1: DP-1 mapped: DP-1-0 note: disabled pos: primary,top model: LG (GoldStar) HDR WFHD
    serial: <filter> built: 2018 res: 2560x1080 hz: 60 dpi: 81 gamma: 1.2
    size: 798x334mm (31.42x13.15") diag: 869mm (34.2") modes: max: 2560x1080 min: 640x480
  Monitor-2: HDMI-A-1 mapped: HDMI-1-0 note: disabled pos: bottom model: LG (GoldStar) ULTRAWIDE
    serial: <filter> built: 2013 res: 2560x1080 hz: 60 dpi: 96 gamma: 1.2
    size: 677x290mm (26.65x11.42") diag: 628mm (24.7") modes: max: 2560x1080 min: 640x480
  Monitor-3: eDP-1 note: disabled model: BOE Display 0x084a built: 2018 res: 2560x1080 dpi: 142
    gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5") ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0 drv: nvidia device: 1
    drv: iris device: 3 drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: iris
    inactive: wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 23.2.1-arch1.2 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics 630 (CFL GT2) device-ID: 8086:3e9b
    memory: 14.95 GiB unified: yes
  API: Vulkan v: 1.3.269 layers: 8 device: 0 type: integrated-gpu name: Intel UHD Graphics 630
    (CFL GT2) driver: mesa in
tel v: 23.2.1-arch1.2 device-ID: 8086:3e9b surfaces: xcb,xlib
    device: 1 type: discrete-gpu name: NVIDIA GeForce RTX 2060 driver: nvidia v: 545.29.02
    device-ID: 10de:1f11 surfaces: xcb,xlib device: 2 type: cpu name: llvmpipe (LLVM 16.0.6 256
    bits) driver: mesa llvmpipe v: 23.2.1-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel v: kernel
    alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA TU106 High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel pcie:
    gen: 3 speed: 8 GT/s lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10f9
    class-ID: 0403
  Device-3: Realtek USB Audio driver: snd-usb-audio type: USB rev: 2.0 speed: 480 Mb/s lanes: 1
    mode: 2.0 bus-ID: 1-4.5:11 chip-ID: 0bda:4014 class-ID: 0102 serial: <filter>
  API: ALSA v: k6.6.1-zen1-1-zen status: kernel-api tools: N/A
  Server-1: PipeWire v: 0.3.84 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek vendor: Dell driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: 3000 bus-ID: 3c:00.0 chip-ID: 10ec:2502 class-ID: 0200
  IF: enp60s0 state: down mac: <filter>
  Device-2: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter vendor: Dell
    driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 3d:00.0
    chip-ID: 168c:003e class-ID: 0280 temp: 48.0 C
  IF: wlp61s0 state: down mac: <filter>
  Device-3: Realtek RTL8153 Gigabit Ethernet Adapter driver: r8152 type: USB rev: 3.0
    speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 6-1.2:3 chip-ID: 0bda:8153 class-ID: 0000
    serial: <filter>
  IF: enp58s0u1u2 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Qualcomm Atheros driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    mode: 1.1 bus-ID: 1-14:7 chip-ID: 0cf3:e007 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: N/A
Drives:
  Local Storage: total: 1.14 TiB used: 923.22 GiB (78.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN520 NVMe WDC 256GB
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 tech: SSD
    serial: <filter> fw-rev: 20240012 temp: 44.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10SPZX-75Z10T3 size: 931.51 GiB
    block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 4514 scheme: GPT
Partition:
  ID-1: / raw-size: 221.33 GiB size: 221.33 GiB (100.00%) used: 93.49 GiB (42.2%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 592 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 221.33 GiB size: 221.33 GiB (100.00%) used: 93.49 GiB (42.2%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 221.33 GiB size: 221.33 GiB (100.00%) used: 93.49 GiB (42.2%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 221.33 GiB size: 221.33 GiB (100.00%) used: 93.49 GiB (42.2%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.31 GiB used: 256 KiB (0.0%) priority: 100 comp: zstd
    avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 16.84 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 63.0 C pch: 70.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 328 Uptime: 58m wakeups: 0 Memory: total: 16 GiB note: est. available: 15.31 GiB
  used: 6.19 GiB (40.4%) Init: systemd v: 254 default: graphical tool: syst
emctl Compilers:
  gcc: 13.2.1 Packages: 1435 pm: pacman pkgs: 1428 libs: 439 tools: octopi,paru pm: flatpak pkgs: 7
  Client: shell wrapper v: 5.2.15-release inxi: 3.3.31
Garuda (2.6.17-1):
  System install date:     2023-11-04
  Last full system update: 2023-11-09 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            

(yeah, I know I need a restart, but that’s because I’ve been trying to set my smartcard reader up again and I’m failing in following back my own footsteps)

Actually I’ve noticed this behavior in Gaming as well. The last two installs with the ISO that was released the other day setup ZSH and after reboot still on Fish. Fixed it this last time with a ZSH script.

Fish is not set as the system shell in Garuda, Bash is. The terminal switches to Fish when you open it.

Check the Konsole profile, the custom command is set to /bin/fish, allowing Fish to run in the terminal without changing the system shell.

4 Likes

but if Konsole is the default terminal, shouldn’t it be affected by Garuda Assistant’s Default Shell choice?

It sounds like maybe what I said was unclear, so let me try to explain:

The setting in Garuda Assistant is a way of running chsh in the GUI. That is for changing the system shell.

Most terminal emulators have a way of configuring a custom command to be launched when you open the terminal, so you can for example change to another shell when the terminal is opened. This feature is commonly implemented to allow the user to intentionally use a different shell than the system shell when they are using the terminal.

It doesn’t matter what the system shell is if you have a custom command set in Konsole to automatically switch to Fish when you open it. Konsole should honor that custom command.

If you don’t want the shell to be changed to Fish when you are using Konsole, just remove the custom command from the Konsole profile settings.

4 Likes

but my point here is that I haven’t changed a thing in the Konsole. it’s the distro’s default config. If the distro’s default terminal can’t conform to the distro’s default shell, shouldn’t that be fixed in some way?

Exactly, that is my point as well.

It can “conform” to any shell you wish. The point is, if the user has a custom command set to change the shell in the terminal, that setting should be honored no matter what the system shell is changed to.

There is nothing to “fix”, as you say. This is the intended behavior. The system shell is Bash, and when the user opens the terminal they can use Fish.

If the user wishes to set it up a different way, for example not have the terminal switch to Fish, they can just change or remove the custom command. Nothing could be simpler.

3 Likes

but I haven’t made the choice of using fish. I never changed anything to choose it, you see what I mean? When I opened Konsole, at the start when I was doing basic stuff, I didn’t even notice I was using fish.

But then I had to do $() stuff and fish showed its face to me and I was like “I swear I had my default shell as bash? Let me check Garuda Assistant… yeah, it’s bash here, alright. Why is this damn thing using fish then?”

You see?

This setting in Konsole is the default for the distro. No one has to explicitly choose it, it has been set up by the maintainer of the spin. It comes along with all the other choices, like the default theme, package selection, and so on. There is not much to say here except “you’re welcome”.

Many users enjoy this configuration choice, and those that do not can adjust the setting very easily, just as they would adjust any other setting they wanted to change like the keyboard layout or the wallpaper.

All I see is this:

  1. You were not aware this feature was being implemented in the terminal you are choosing to use;
  2. It was explained to you what was happening, and how to change it if you wish;
  3. You appear to be trying to find an issue with the configuration choice of the distro maintainer, even though it is working exactly as they have intended it to.
3 Likes

ok, that… cleared up a bit, but I still find it confusing. The ‘default shell’ for the distro is bash, but the ‘default shell for using in the default terminal’ is fish.
And the ‘default shell for using in the default terminal’ isn’t configurable through Garuda Assistant.

I think I get it now…?

btw, thanks for the patience, @BluishHumility <3

1 Like

Yes, that is maybe worded a little funny but it is basically correct. The terminal doesn’t exactly have it’s own default shell, rather it is actively switching to /bin/fish when it is opened, but still: the way you have said it is more or less accurate.

My understanding is this choice was made because at the time there was a certain benefit to having Bash as the login shell, or perhaps having Fish as the login shell was causing an issue of some kind, but they still wanted to use Fish in the terminal.

Again, the terminal doesn’t exactly have a default shell–rather, it is automatically launching a command that changes the shell when you open it. But yes, this setting–along with pretty much any other Konsole setting–cannot be changed from Garuda Assistant, it must be changed from the settings of the application itself.

2 Likes

yeah, I got lazy about finding out what to change where and just installed kitty =p

“I would like to interject for a moment…”
Minor correction: “default shell for using in the default terminal” is really “custom command for that specific terminal”.
All of them can be configured to run a custom command (which defaults to the default shell), it doesn’t have to be the same one for all, and it doesn’t even have to be a shell.
Some can be configured with several custom commands, so that one can open a bash session, or a fish/zsh/… session, an ssh connection, whatever.

Yep it’s a bit confusing, choices often are.
And I still find myself typing bash into fish every now and then, it’s stuck in my brain cells after all these years.

At first I also went “wtf” then I learned their respective advantages.

Fish has somewhat better interactive features and, more importantly in my opinion, allows to write more maintainable scripts (bash tends to be quite cryptic and write only).

Bash is the standard and has those neat, short string manipulation syntax (which I love to abuse in code-golfing style) but I cringe at those backwards spelled keywords (case/asec, if/fi, but do/done?).

Tools. Use the one that better fits your hand and better applies to the task.

That first link I dropped in a rush may have further insight.

4 Likes

Kitty is really cool, too bad I haven’t had time to explore it as it would deserve.

2 Likes

The reason for doing it this way is the following: fish as login shell does not apply certain environment variables which bash sources (talking from first-hand experience, we did it like that in the past and figured it wouldn’t be a good idea overall). This breaks several common applications such as Flatpaks. Since fish is much more user-friendly, we still keep it as user facing shell.

That being said, I still use bash for scripts and switch to bash in case I need to run certain bash syntax for speeding up actions :stuck_out_tongue_closed_eyes: wasn’t motivated to learn yet another language :smiley:

7 Likes

I understand that, easily! Lots of login stuff are bash-scripted and fall completely apart when trying to run on fish. But, if I may leave this as a suggestion… change the name of the “Default shell” on Garuda Assistant to “Login shell”?

Of course, as always, feel free to just ignore the suggestion and move along with important stuff, you folks have been doing just fine and the distro is amazing =)

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.