Dev/KDE
Kicksecure Development Notes about KDE
For user documentation, see Other Desktop Environments instead!
Users, non-developers, should ignore this page.
todo
[edit]bookworm kde X11 / Wayland: hover of systray, without clicking, the systray icon is vanishing install new theme -> downloaded unverified? low contrast theme, difficult to read require different theme
KDE Privacy issues
[edit]Reasons for Deprecation of KDE as Kicksecure Default Desktop Environment
[edit]Changes to the Debian/KDE defaults
[edit]| Application | Changed Setting | Reason | Status |
|---|---|---|---|
| Dolphin | Always show Menu Bar | Easier to find the button to show hidden files. | Done. |
| Dolphin | Double click instead single click. | Usability | Done. |
| Desktop | Change Theme | Prevent confusion of host desktop and VM desktop.; No legally required, but looking different than the Debian/KDE default theme. | TODO, how? |
| Desktop | Mouse Theme | Same as above. | TODO, how? |
| Desktop | Change Wallpaper | Same as above. | Done. |
| plasma-desktop | folderview instead of desktop view | Displaying desktop icons for the most important applications. | Done. |
| KGpg | Disabled tip of the day. | - | Done. |
| KGpg | Disabled first run wizard and configure. | - | Done. |
| Konsole | Unlimited scroll back | - | Done. |
| KDE? | Autologin | - | Done. |
| plasma-desktop | Digital Clock, set to UTC, show date, show seconds | Without showing UTC it is even more confusing why the clock "wrong".; Show seconds to demonstrate the timesync script is working. | Upstream BUG |
| plasma-desktop | KGpg unhidden in tray | Usability. Otherwise it looks like it doesn't start. It would start, but only hidden in tray. | Done. (Tray icon disabled by default as workaround. Now starts in foreground.) |
| plasma-desktop | start menu favorites | Usability. Highlighting most important applications. | Done. |
Added Desktop Icons
[edit]| Application | Changed Setting | Reason | Status |
|---|---|---|---|
| plasma-desktop | Synaptic (install software) | - | Removed. |
| plasma-desktop | Tor Browser Updater Icon | - | Done. |
| plasma-desktop | Tor Browser | - | Removed. |
| plasma-desktop | Documentation | Encouraging reading documentation. | Done. |
| plasma-desktop | Tor Browser Recommended | Encouraging users to read Kicksecure Feature Blog or at least Kicksecure Important Blog. | Removed. |
| plasma-desktop | HexChat | - | Done. Remove? |
| plasma-desktop | Whonixcheck | Reminding users to use whonixcheck. This is important after pause/resume of a VM or after restoring snapshots. We don't know how to automate running whonixcheck in such situations. | Done. |
| plasma-desktop | Timesync | Reminding users to use timesync. This is important after pause/resume of a VM or after restoring snapshots. We don't know how to automate running timesync in such situations. | Done. |
| plasma-desktop | konsole | - | Done. Remove? |
| plasma-desktop | User Help Forum | Support. Building a community. | Done. |
| plasma-desktop | Developer Mailing List | Attracting developers. Getting causal readers and comments. | Done. |
| plasma-desktop | Contribute | Encouraging contributions. | Done. |
| plasma-desktop | Donate | Encouraging donations. | Done. |
| plasma-desktop | Feature Blog | - | Removed. |
| plasma-desktop | Important Blog | - | Done. Remove? |
KDE Lowfat Settings
[edit]Kicksecure GitHub kde-lowfat repository subpath
KDE Mailing list: How to learn about all those configuration file values?![]()
kdedrc
[edit]TODO: Review and update
kdedrc
## What does it do: Disable KDE Bluetooth integration
## Source: http://userbase.kde.org/Bluedevil
## Whonix: Not required in {{project_name_short}}
[Module-bluedevil]
autoload=false
kcmshell4 --list | grep mount, gives me device_automounter_kcm, with a description: "Configure automatic handling of removable storage media".
kcmshell4 device_automounter_kcm give me... well you can try it.
Of course that's the Removable Device Automounter, as listed in the services configuration (kcmkded).
Without this module running the new removable device should still show up in device-notifier, but the configured automount actions won't occur.
This one will strongly depend on whether the user is willing to jump thru manual hoops to mount a newly plugged removable storage device, or would prefer that kde handled it even at the expense of a bit of kde startup speed and memory for the automounting service. Of course people like me don't like kde mounting stuff behind their back anyway, so turning it off is an easy choice here, but a lot of users want the system to handle it... if they even know anything about mounting to begin with.
http://lists.kde.org/?l=kde&m=136497689725852&w=2![]()
[Module-device_automounter] autoload=true
http://lists.kde.org/?l=kde&m=136497689725852&w=2![]()
[Module-dnssdwatcher] autoload=false ## What does it do: This module notifies the user when /home or one of ## the other directories which you can configure it to monitor are ## running out of space. ## Source: http://packages.debian.org/unstable/main/freespacenotifier ## Whonix: We should probably leave it enabled. [Module-freespacenotifier] autoload=true [Module-kwrited] autoload=false [Module-nepomuksearchmodule] autoload=false
http://lists.kde.org/?l=kde&m=136497689725852&w=2![]()
I /think/ this is Network Status in kcmkded. But as I don't run network-manager or the like at all, instead using initscripts for my network management, I have absolutely no experience with this.
[Module-networkmanagement] autoload=false [Module-obexftpdaemon] autoload=false
http://lists.kde.org/?l=kde&m=136497689725852&w=2![]()
kcmkded says display management change monitor. Probably useful for laptop users that often plug external monitors or who frequently change resolution, not so much for folks who always run the same monitor config and resolution.
[Module-randrmonitor] autoload=false
http://lists.kde.org/?l=kde&m=136497689725852&w=2![]()
Remote URL change notifier. For those with network folders this is probably useful. Otherwise, not so much.
[Module-remotedirnotify] autoload=false
ksmserverrc
[edit]ksmserverrc
## What does it do: To start the kde session fresh, it makes the applications ## that was open (with tabs and contents), to start again without any kind of data. ## It wipes the applications that were open from the desktop. ## Source: http://techbase.kde.org/KDE_System_Administration/Startup and ## http://www.backtrack-linux.org/forums/archive/index.php/t-8210.html [General] loginMode=default
Desktop Icons
[edit]The arrows and italic font of the desktop icons is ugly.
They are arrows and italic font, because the desktop icons are symlinks.
Using symlinks has several advantages.
- prevents code duplication
- to prevent writing into the user's home folder [1] [2]
- being able to update for example /usr/share/applications/whonix/whonix-whonixcheck.desktop [3]
- the user is free to delete them and to prevent getting them re-added by blacklisting the responsible postinst.d script
There will be no arrows, if they are copies and chmod +x. Using copies is no real alternative due to the advantages listed above.
The real fix is an open question for research:
How to tell KDE to use no arrows and no italic font for symlinked desktop icons?
Notes
[edit]- kde settings files / packages - debugging and changeing user settings as a distribution

- https://forum.kde.org/viewtopic.php?f=305&t=141846
- https://marc.info/?l=kde&m=136497689725852&w=2

Kicksecure 14
[edit]TODO
[edit]- enable sdwdate-gui systray by default
- [Need Plasma 5 scripter] fix "KDE Desktop Settings for VM (TODO: not GS?). Enables KDE folderview (allows desktop shortcuts) and sets Kicksecure specific wallpaper."
- Kicksecure GitHub whonix-gw-kde-desktop-conf repository
- Kicksecure GitHub whonix-ws-kde-desktop-conf repository
- Folderview is default in Plasma 5.10; Won't be in debian until 2036
- Method 1: Via scripting
- Currently broken (Kicksecure GitHub whonix-gw-kde-desktop-conf repository subpath
)
- Asking on forums https://forum.kde.org/viewtopic.php?f=289&t=142861
- Currently broken (Kicksecure GitHub whonix-gw-kde-desktop-conf repository subpath
- Method 2: contents/default
- Global default for new users is in /usr/share/plasma/shells/org.kde.plasma.desktop/contents/defaults
- The line "Containment=" should be changed to "Containment=org.kde.plasma.folder"
- Method 3: XDG. Probably doesn't work. Only scripting or contents/default
- Placing plasma-org.kde.plasma.desktop-appletsrc in a current used XDG_CONFIG_DIR directory (for test), with the text: "[Containments][1]" "plugin=org.kde.plasma.folder" has no effect.
- Asked https://forum.kde.org/viewtopic.php?f=289&t=141930&p=381724
- Methods 4: /etc/skel
- User's config is ~/.config/plasma-org.kde.plasma.desktop-appletsrc
- Line 15, under [Containments][1], needs to change to "plugin=org.kde.plasma.folder"
- Kicksecure GitHub whonix-gw-kde-desktop-conf repository
Maintain
[edit]- Confirm use of profile in konsole from Kicksecure GitHub kde-konsole-unlim-scrollback repository
- (Tested on 14.0.0.5.0) Kicksecure GitHub pkg-manager-no-autoupdate repository
- (Tested on 14.0.0.5.0) disable screen saver - implemented in Kicksecure GitHub power-savings-disable-in-vms repository
-
- (Tested on 14.0.0.5.0) Kicksecure GitHub knetattach-hide repository
- Removed as unneeded.
Done
[edit]- [anon-apps-config package] KGPG defaults fix Kicksecure GitHub kde-kgpg-tweaks repository
- Kgpg not affected by XDG (plasma 5), only /etc/kde4rc (KDE4)
- https://forum.kde.org/viewtopic.php?f=225&t=141955&p=381843#p381843
- [Works if "multi user" isn't supported in Kicksecure] Desktop shortcuts
- Works for `user` (both first login and reinstall), but not created user
- Kicksecure GitHub whonix-gw-desktop-shortcuts repository
- Kicksecure GitHub whonix-ws-desktop-shortcuts repository
- [Deleted] ksmserverrc (Kicksecure GitHub kde-lowfat repository subpath
)
- [Suggest: Review in 15] Kicksecure GitHub kde-lowfat repository subpath
- (Works) kdeglobals (Kicksecure GitHub kde-lowfat repository subpath
)
- (Works) kdedrc (Kicksecure GitHub kde-lowfat repository subpath
)
- No module set to "false" is loaded in in Kicksecure 14.0.0.5.0
- TODO: Review which modules we want loaded
- (Works) kdeglobals (Kicksecure GitHub kde-lowfat repository subpath
- [Suggest: Can't fix] How to tell KDE to use no arrows and no italic font for symlinked desktop icons?
- arrow → hackish → rename all the emblem-symbolic-link.* files (inside theme?) .bak or replace with transparent image.
- italics → no leads. Need kde dev to confirm.
fix bugs that totally break the KDE desktop completelyall shell packages missing- done - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851175
- Kicksecure GitHub anon-meta-packages repository subpath
Error loading QML file: file:///usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/ui/Kickoff.qml:31:1: module "org.kde.plasma.private.kicker" is not installed
update Kicksecure GitHub anon-meta-packages repositorywith new/modified packages from stretch
add kde-config-screenlocker(done)fix auto login[done]fix sdwdate-gui systray (functional but invisible in systray) - https://forums.whonix.org/t/sdwdate-gui-tray-icon-invisible-in-debian-stretch/18811
disable / not install kde wallet? - kwalletmanager not installedfix Kicksecure GitHub power-savings-disable-in-vms repositoryfix kde kickoff favorites start menu applications - Kicksecure GitHub anon-gw-kde-startmenu repository(merged into whonix-gw-desktop-shortcuts)
fix kde kickoff favorites start menu applications - Kicksecure GitHub anon-ws-kde-startmenu repository(merged into whonix-ws-desktop-shortcuts)
fix Kicksecure GitHub kde-dolphin-menubar-enable repositoryfix Kicksecure GitHub kde-kdm-autologin repositoryported to sddm and working
fix Kicksecure GitHub kde-mouse-doubleclick repositoryworking (double click to open files and folders)
fix Kicksecure GitHub kde-sounds-off repositoryworking
fix Kicksecure GitHub kmix-disable-autostart repositoryworking
fix Kicksecure GitHub kde-common-resolution repositorydeprecated
fix Kicksecure GitHub anon-kde-streamiso repositoryfix Kicksecure GitHub kde-privacy repositoryworking
Footnotes
[edit]- ↑ Litian will complain when shipping files in /home/*.
- ↑ Debian developers are strictly against writing into /home/. It is against Debian policy. Writing into /home/ reduces chances that Kicksecure gets some day merged into Debian (at least big parts of it). Getting big parts merged into Debian would be a major advantage.
- ↑ update as in: new icon, new description, translations, who knows...
We believe security software like Kicksecure needs to remain Open Source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!