SUMMARY In Fedora, we're working on replacing the kernel VT (fbcon) with a Wayland-based one, and we want Konsole+KWin to be a supported option. So I need a way to launch konsole, without menu/toolbar/tabs, and to disable features that won't work in a single-application wayland environment (like opening file Manager or URL). Also the user launching konsole is a dummy user, without home folder. Currently I can remove the main and session toolbar by going in the settings->Toobars Shown menu, and unchecking both toolbars, but it would be better to have a command line argument. For reference, here is the current script to start kwin_wayland/konsole on a VT: https://gitlab.com/kdj0c/userspacevt/-/blob/main/kdevt/usr/lib/systemd/system/kdevt@.service?ref_type=heads And here is a test package for Fedora, so you can see what it looks like: https://copr.fedorainfracloud.org/coprs/jfalempe/Userspacevt/ SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora KDE Plasma Desktop Edition 44 KDE Plasma Version: 6.4.91 KDE Frameworks Version: 6.19.0 Qt Version: 6.10.0 ADDITIONAL INFORMATION This was originally filed in https://invent.kde.org/utilities/konsole/-/issues/48
It might make more sense to start with a minimal application around konsolepart. That way we don't have any toolbars etc to remove in the first place
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/1158
(In reply to Bug Janitor Service from comment #2) > A possibly relevant merge request was started @ > https://invent.kde.org/utilities/konsole/-/merge_requests/1158 With that MR merged it will be possible to just use something like: ``` konsole --hide-toolbars --hide-tabbar --hide-menubar --fullscreen ```
Git commit 8ab98bb083a7d1a1f3649a9d99e41b529668acc7 by Christoph Cullmann, on behalf of Sebastian Sauer. Committed on 10/01/2026 at 19:17. Pushed by cullmann into branch 'master'. Add commandline arguments to show/hide toolbars There exist already commandline arguments to show/hide the menubar and the tabbar. What is missing is the possibility to also show/hide toolbars using commandline arguments. M +15 -2 src/Application.cpp M +15 -4 src/MainWindow.cpp M +9 -4 src/MainWindow.h https://invent.kde.org/utilities/konsole/-/commit/8ab98bb083a7d1a1f3649a9d99e41b529668acc7
The MR for the command line argument was merged and will be available in 6.6.0. What is still missing is this part: > disable features that won't work in a single-application wayland environment (like opening file Manager or URL).
> disable features that won't work in a single-application wayland environment (like opening file Manager or URL). Did try and this already works as described at: https://develop.kde.org/docs/administration/kiosk/keys/ Reference for available actions: https://invent.kde.org/utilities/konsole/-/blob/master/desktop/konsoleui.rc?ref_type=heads https://invent.kde.org/utilities/konsole/-/blob/master/desktop/partui.rc?ref_type=heads https://invent.kde.org/utilities/konsole/-/blob/master/desktop/sessionui.rc?ref_type=heads For testing adjust for example your $HOME/.config/konsolerc and: To disable specific actions like "Open Folder With", the websearch, etc use something like: ``` [KDE Action Restrictions][$i] action/openwith=false action/web-search=false action/open-browser=false action/switch-profile=false action/edit-current-profile=false action/allow-mouse-tracking=false ``` To just disable all actions: ``` action/file=false action/edit=false action/view=false action/bookmark=false action/plugins=false action/settings=false action/help=false action/session-popup-menu=false ``` So marking the bug resolved then or is there something else left or am I missing something?
This can't be done via config file, because it would affect the user profile in either the VT-replacement case or the full desktop one.
Created attachment 188588 [details] test.sh shell script > This can't be done via config file, because it would affect the user profile in either the VT-replacement case or the full desktop one. I attached the test.sh shell script which looks like this (inlining to make it discoverable via search): > #!/bin/bash -e > prev_XDG_CONFIG_HOME=$XDG_CONFIG_HOME > prev_XDG_DATA_HOME=$XDG_DATA_HOME > prev_XDG_STATE_HOME=$XDG_STATE_HOME > prev_XDG_CACHE_HOME=$XDG_CACHE_HOME > export XDG_CONFIG_HOME=$HOME/.kiosk/.config > export XDG_DATA_HOME=$HOME/.kiosk/.local/share > export XDG_STATE_HOME=$HOME/.kiosk/.local/state > export XDG_CACHE_HOME=$HOME/.kiosk/.cache > konsolerc=$XDG_CONFIG_HOME/konsolerc > kioskprofile=$XDG_DATA_HOME/konsole/KonsoleKiosk.profile > mkdir -p $XDG_CONFIG_HOME 2>/dev/null > mkdir -p $XDG_DATA_HOME/konsole 2>/dev/null > /bin/cat <<EOM >$konsolerc > [Desktop Entry] > DefaultProfile=KonsoleKiosk.profile > [General] > ConfigVersion=1 > [MainWindow] > MenuBar=Enabled > [Notification Messages] > CloseAllEmptyTabs=true > CloseAllTabs=true > [TabBar] > CloseTabButton=None > CloseTabOnMiddleMouseButton=true > TabBarVisibility=AlwaysShowTabBar > [UiSettings] > ColorScheme= > EOM > /bin/cat <<EOM >$kioskprofile > [General] > Environment=TERM=xterm-256color,COLORTERM=truecolor,XDG_CONFIG_HOME=$prev_XDG_CONFIG_HOME,XDG_DATA_HOME=$prev_XDG_DATA_HOME,XDG_STATE_HOME=$prev_XDG_STATE_HOME,XDG_CACHE_HOME=$prev_XDG_CACHE_HOME > Name=KonsoleKiosk > Parent=FALLBACK/ > EOM > konsole --hide-menubar --hide-toolbars --hide-tabbar --notransparency & That works for me as expected. What it does is to use different XDG environments for KonsoleKiosk vs KonsoleNormal what means they will not affect each other. Also with that solution KonsoleKiosk can be preconfigured and the config+profile will always be restored. @ngompa Is that an acceptable solution? If not then it would be good to know why and/or how it should be so I understand better what is missing and what changes are needed to konsole and/or kiosk. Thanks in advance and best regards.
Created attachment 188592 [details] Version 2 of the shell script
Created attachment 188593 [details] Version 3 of the test.sh shell script
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/1169
Git commit 581755fdb70249fe9d5e0a521c04c3f7e3639528 by Christoph Cullmann, on behalf of Sebastian Sauer. Committed on 17/01/2026 at 18:45. Pushed by cullmann into branch 'master'. Fix nullptr-deref crashes when kiosk is used to disable menus factory()->container() returns a nullptr when the menu is not defined in the (konsoleui|partui|sessionui).rc file or when the menu was disabled using Kiosk. In that case Konsole crashes due to nullptr deref. Fix that. M +24 -21 src/MainWindow.cpp https://invent.kde.org/utilities/konsole/-/commit/581755fdb70249fe9d5e0a521c04c3f7e3639528
Alternate way: An example that implements Nicolas suggestion to load the konsole kpart into your own minimal app is done in 44 lines of code at: https://invent.kde.org/saueseb/konsolekpart Closing again in the hope that either one of the two suggested solutions do the job xor get more feedback.
๐๐งน โ ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone!
I'm going to take a crack at these options. Thanks for the advice.