Category Archives: CentOS

OpenOffice service init.d script for CentOS

This script will start soffice headless listening on port 8100. You can use it eg. with JODConverter.

# headless server script
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice

set -e

case "$1" in
if [ -f $PIDFILE ]; then
echo "OpenOffice headless server has already started."
sleep 5
echo "Starting OpenOffice headless server"
$SOFFICE_PATH -nologo -nodefault -norestore -nocrashreport -nolockcheck -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp" & > /dev/null 2>&1
touch $PIDFILE
if [ -f $PIDFILE ]; then
echo "Stopping OpenOffice headless server."
killall -9 soffice && killall -9 soffice.bin
rm -f $PIDFILE
echo "Openoffice headless server is not running."
echo "Usage: $0 {start|stop}"
exit 1
exit 0

How to disable Cron e-mails in Webmin

Today I have setup some Cron job. The command is running under user nobody. After some minutes while this job has been running and executed I received e-mail with result of the job. This job was setup to run every 3 minutes, so I was getting those e-mails quite often.
After I have logged into Webmin to disable those e-mails I have noticed that there is no option to disable those e-mail notifications. Looks like it depends on the user under which the job is executed if he has some e-mail or not.
Anyway you can disable those e-mails by going to Scheduled Cron Jobs. On the page click on Create a new environment variable button. Select the same user as the one under which the job is running. As Variable name use MAILTO and do not fill anything into the Value field. Also make sure you leave Before all Cron jobs for user selected.
Finally you should not get any new e-mails 🙂

Running UltraVNC repeater under Linux server

I am playing with remote support tools. There are a lot of good payed tools like TeamViewer, GoToMeeting and others but they are expensive. I found that UltraVNC has some tools like Single Click which can make it easy to provide remote support to your customers. Finally I ended by ChunkVNC which is basically UltraVNC but looking much more better.
There is a lot of tutorials on the Internet but they describe direct connection support. Which means at least one of the PC’s has to be accessible from the outside world. But I wanted to setup some server which I would connect to instead of connecting directly to customer’s PC. This server is called Repeater. UltraVNC has a repeater targeting Windows platform. But I have a Linux server and I wanted it to be running there. Fortunately a Linux port of the UltraVNC Repeater is also available. I have created a mirror of the latest version in case the original page won’t work.
The installation itself is not a big problem even though you have to compile the sources.

  1. Connect to the server using SSH
  2. Go to temp: cd /tmp/
  3. Download the sources: wget
  4. Extract them: tar zxvf  uvncrepeater.tar.gz
  5. Go to the sources directory: cd uvncrepeater/
  6. Compile the sources: make
  7. Copy repeater to sbin: cp repeater /usr/sbin/repeater
  8. Run it: /usr/sbin/repeater

If you want to make it running as a service you can use the following piece of code:

#! /bin/sh
# vnc: start/stop/restart the VNC repeater server
# chkconfig: 3 20 80
# description: VNC repeater server

vnc_start() {
if [ ! -f /etc/uvncrepeater.ini ]; then
echo "File /etc/uvncrepeater.ini does not exist. Aborting."
/usr/sbin/repeater 2>>/var/log/vnc.log &
pgrep repeater >/var/run/

vnc_stop() {
killall repeater
rm /var/run/

vnc_restart() {
if [ -r /var/run/ ]; then
kill `cat /var/run/`
echo "Killing repeater in the absence of /var/run/"
killall repeater
sleep 1

case "$1" in
echo "usage $0 start|stop|restart"

Take the code and save it into /etc/init.d/vnc file on the server. Then run the following commands to install it as a service:

  1. chmod +x /etc/init.d/vnc
  2. chkconfig –add vnc
  3. chkconfig –level 3 vnc on