Command is not executed in rc.local file

I need to start ibus-daemon when app vm starts up.
So I added to rc.local file

#start ibus
ibus-daemon -drx

# test if rc.local is executed
echo test > /home/user/log

And I see log file says test but ibus-damon is not running.
What am I doing wrong here?

Did you make rc.local executable?

chmod +x rc.local

Yes it is

rwxr-xr-x 1 root root  409 Feb 18 09:29 rc.local

Something should be wrong with the ibus start command.

  • check the environment before the launch, ex: set > /tmp/set.log
  • is the ibus-daemon in $PATH? → Use the absolute path
  • add logs, ex: ibus-daemon -drx > /tmp/ibus.log 2>&1
  • check the command options, maybe add verbose output
  • read the ibus-daemon documentation