Linux Tricks: Difference between revisions
Line 40: | Line 40: | ||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
User=clasrun | User=clasrun | ||
Group=onliners | Group=onliners | ||
ExecStart=/usr/clas12/release/1.4.0/coda/Linux_x86_64/bin/DiagGuiServer init | ExecStart=/usr/clas12/release/1.4.0/coda/Linux_x86_64/bin/DiagGuiServer init | ||
Restart=on-failure | Restart=on-failure | ||
Line 53: | Line 48: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
'''NOTE:''' various commented out settings in [Unit] section were tried to make sure DiagGuiServer service run after everything else is ready (in particular automounts), but nothing really worked; solution was to allow restart on failure in section [Service], so after a couple of failures service DiagGuiServer finally starts. | |||
Create directory ''/etc/systemd/system/DiagGuiServer.service.d/'' | Create directory ''/etc/systemd/system/DiagGuiServer.service.d/'' |
Revision as of 10:44, 14 April 2025
Color change when connected remotely
Problem: after opening vnc session to linux machine from macbook laptop, small window pops up asking about some color settings (create color profile etc), and keeps asking for password; none of passwords actually works, and it keeps asking again and again.
Fix: on linux machine, create file /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla with permissions 644 and following contents:
[Allow Colord all Users] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile ResultAny=no ResultInactive=no ResultActive=yes
Creating service in systemd (RHEL7 and up)
NOTES:
systemctl list-units | grep -o '.*\.mount'
DiagGuiServer example
Create file /usr/lib/systemd/system/DiagGuiServer.service with following contents:
[Unit] Description=DiagGuiServer #After=network.target #Requires=autofs.service #Requires=nfs-utils.service nfs-lock.service autofs.service #Requires=autofs.service #After=network.target apps.mount home.mount usr-clas12.mount usr-local.mount #After=-.mount #RequiresMountsFor=/usr/clas12/release/1.4.0/coda/Linux_x86_64/bin #Wants=remote-fs.target #After=remote-fs.target #ConditionPathExists=/usr/clas12/release/1.4.0/coda/Linux_x86_64/bin
[Service] Type=simple User=clasrun Group=onliners ExecStart=/usr/clas12/release/1.4.0/coda/Linux_x86_64/bin/DiagGuiServer init Restart=on-failure RestartSec=10
[Install] WantedBy=multi-user.target
NOTE: various commented out settings in [Unit] section were tried to make sure DiagGuiServer service run after everything else is ready (in particular automounts), but nothing really worked; solution was to allow restart on failure in section [Service], so after a couple of failures service DiagGuiServer finally starts.
Create directory /etc/systemd/system/DiagGuiServer.service.d/
Create file /etc/systemd/system/DiagGuiServer.service.d/override.conf with following contents:
[Service] Environment="LD_LIBRARY_PATH=/apps/gcc/8.3.0/lib:/apps/gcc/8.3.0/lib64:/usr/lib:/usr/local/lib:/usr/local/activemq/lib:/usr/clas12/release/1.4.0/coda/Linux_x86_64/lib:/usr/clas12/release/1.4.0/clon/Linux_x86_64/lib:/usr/clas12/release/1.4.0/clon/lib" Environment="IPC_HOST=clon00" Environment="MYSQL_HOST=clondb1" Environment="EXPID=clasrun" Environment="CLON_PARMS=/usr/clas12/release/1.4.0/parms"
Following commands can be used to control service:
systemctl start DiagGuiServer systemctl stop DiagGuiServer systemctl status DiagGuiServer
To start service at boot time, execute command:
systemctl enable DiagGuiServer
following message should come up on screen:
Created symlink from /etc/systemd/system/default.target.wants/DiagGuiServer.service to /usr/lib/systemd/system/DiagGuiServer.service.