[systemd-devel] How to modify files from within systemd *.service? (for example using /bin/echo and stdout redirection)
Peter Lemenkov
lemenkov at gmail.com
Fri May 25 23:27:23 PDT 2012
Hello All!
I've got Apple Mac keyboard which behaviour depends on a value stored
in /sys/module/hid_apple/parameters/fnmode file (default is "1").
Before systemd I did the following - I added the "echo 2 >
/sys/module/hid_apple/parameters/fnmode" line to the end of
/etc/rc.d/rc.local . Recently I tried to do the same using native
systemd *.service file and quickly created the following one:
======================
[Unit]
Description=Fix Apple Keyboard Fn Behaviour
[Service]
Type=oneshot
RemainAfterExit=yes
ConditionPathExists=/sys/module/hid_apple/parameters/fnmode
ExecStart=/bin/echo 2 > /sys/module/hid_apple/parameters/fnmode
[Install]
WantedBy=multi-user.target
======================
Unfortunately it doesn't work at all. Although systemctl tells me that
everything is ok, the contents of the
/sys/module/hid_apple/parameters/fnmode file remains intact. After a
brief examination I found that I just can't simply redirect stdout to
the file (e.g. if I change ExecStart to someting like this
"ExecStart=/bin/echo 2 > /tmp/test.txt" then the file /tmp/test.txt"
will not be created).
So questions are
* Can I somehow modify the given file from systemd files w/o too much
efforts? "Too much" means w/o writing simple console utility only with
systemd+shell means.
* How to restore the original ">" and "<" behaviour if required?
--
With best regards, Peter Lemenkov.
More information about the systemd-devel
mailing list