Depreciation is not unique to the Linux world.

Simply dropping scripts in to init.d isn't going to achieve anything. You'd need to write them as services and enable them. In any case SLED 12 uses systemd for the init system to the way to get stuff running at boot is to create a unit file and put it in /etc/systemd/system/

Dropping the line
Code:
echo "i ran" > /dev/shm/$(basename $0)
in to /etc/init.d/after.local shows it does get called during boot. I don't know exactly when in the boot process it get called. The comments in it are unhelpfully vague even in the context of sysvinit and I suspect whatever their meaning is supposed to be is no longer true with systemd. (I know for a fact that systemd makes the comments in boot.local about when it gets run false.)


It seems like it would be possible to get xkbcomp to work when run from the init system by calling a suitable script. The script would need more than just the xkbcomp command in it. E.g If I log in as root via ssh I can set the keyboard map with
Code:
$ XAUTHORITY=$(ps --no-headers $(pidof Xorg) | awk '{print $11}') xkbcomp -I/home/mike/.xkb /home/mike/.xkb/keymap/mykbd :0
You'd have to make craft the dependencies in the systemd unit file to ensure the script didn't run until after X was up and running.

Amusing you only want the mod for your own user it's easier to do it within the context of your own user though.
Code:
mike@Unknown:~> cat .config/autostart/modkeybdmap.desktop 
[Desktop Entry]
Name=My keyboard map mod
Exec=/home/mike/bin/modkeyboardmap
Type=Application
mike@Unknown:~> cat /home/mike/bin/modkeyboardmap
#!/bin/bash
sleep 10
xkbcomp -I${HOME}/.xkb ${HOME}/.xkb/keymap/mykbd $DISPLAY
mike@Unknown-:~>
You need to make modkeyboardmap executable
Code:
mike@Unknown-:~> chmod u+x~/bin/modkeyboardmap
I could have sworn I tried this the other day and it didn't work. But it's consistently working for me now.