Mengirim Pesan ke LTSP/Thinstation Client

Akhirnya aku menemukan script untuk mengirimkan pesan ke client.

http://www.mail-archive.com/ltsp-discuss@lists.sourceforge.net/msg32597.htm

installasi :

login sebagari root

$ sudo -i

buat file send_message.sh dengan text editor (vi, vim, gedit atau mousepad) dan copy paste scripnya

# mousepad send_message.sh

#!/bin/bash
# =============================
# Memberikan nama pada argument
# =============================
# $* artinya semua argument
# 'shift' diperlukan untuk memastikan semua argument di ambil
# stelah argument pertama
username=$1
shift
message=$*

# gmessage jika pakai gnome, kmessage untuk kde atau pakai xmessage
msgprg="gmessage -buttons \"GTK_STOCK_CLOSE\" -center -timeout 60 -wrap -geometry 400x200 -title \"Message from the Administrator\""

# Fungsi untuk merespon error dalam penggunaan baris perintah (commond line)
function usage ()
{
   echo " "
   echo " SRCIPT HARUS DI JALANKAN SEBAGAI ROOT!!!"
   echo " SRCIPT HARUS DI JALANKAN SEBAGAI ROOT!!!"
   echo " SRCIPT HARUS DI JALANKAN SEBAGAI ROOT!!!"
   echo " "
   echo "  usage: $0 [USERNAME] [MESSAGE]"
   echo "         dimana USERNAME adalah 1 user spesifik"
   echo "         atau jika USERNAME=all maka pesan akan diterima oleh semua user yang login"
   echo " "
   echo "         semua text setelah USERNAME menjadi bagian dari pesan/MESSAGE"
}

# Fungsi untuk memastikan user benar-benar login ke server
function user_check ()
{
   check=$(who | awk '{print $1}' | grep ^"$username" | uniq )
   if [ -f $check ]; then
       echo "     Maaf, username $username tidak login ke server"
       exit
   fi
}

# Fungsi untuk mengirim pesan ke semua user
function msg_all ()
{
   users=$(who | awk '{print $1}' | sort | uniq )
   for user in $users
   do
      display=$(who | grep ^"$user" | awk '{print $2}' | grep -e ":" )
      # jika display bernilai ":0" maka user telah login ke server
      if [ "$display" = :0 ]; then
         display="`hostname -f`:0.0"
      fi
      # gunakan ini untuk access_control
      su 2>/dev/null 1>&2 -c "$msgprg -display $display $message" - $user &
      # gunakan baris ini jika "disable_access_control=y" ada pada file lts.conf
      # $msgprg -display $display $message 2>/dev/null &
   done
}

# Fungsi untuk mengirim pesan pada satu user
function msg_one ()
{
      # diperlukan untuk mendapatkan display hanya untuk satu user
      display=$(who | grep ^"$username" | awk '{print $2}' | grep -e ":" )
      # jika display bernilai ":0" maka user telah login ke server
      if [ "$display" = :0 ]; then
         display="`hostname -f`:0.0"
      fi
      su 2>/dev/null 1>&2 -c "$msgprg -display $display $message" - $username &
}
# ====================================
# Script untuk memastikan semuanya OK
# ====================================
# Memastikan sedikitnya ada 2 argument
if [ $# -lt 2 ]; then
   usage
   exit
fi

# Memastikan user telah login sebagai root
if [ $USER != "root" ]; then
   usage
   exit
fi 

# ===================================
#  Jika semuanya OK, saatnya bekerja
# ===================================
if [ "$username" = all ]; then
   msg_all
   exit
else
   user_check
   msg_one
   exit
fi
exit
#end script

simpan dan chmod +x supaya bisa di execute# chmod +x send_message.shInstall gmessage

# apt-get install gmessage

Jalankan dengan perintah

# ./send_message.sh [username] [pesan]

usage: “./send_message.sh [USERNAME] [MESSAGE]”
dimana USERNAME adalah 1 user spesifik”
atau jika USERNAME=all maka pesan akan diterima oleh semua user yang login”

semua text setelah USERNAME menjadi bagian dari pesan/MESSAGE”
have fun đŸ˜€

5 comments on “Mengirim Pesan ke LTSP/Thinstation Client

  1. Bagaimana caranya mengaktifkan printer di client settingan Individual ku sperti ini :

    Pc 1

    Thinstation.conf-000B61654A1X
    SESSION_1_TITLE=”Windows XP SP2 PC1″
    SESSION_1_TYPE=rdesktop
    SESSION_1_RDESKTOP_SERVER=192.168.101.1
    SESSION_1_RDESKTOP_OPTIONS=”-u pc1 -p pc1 -r printer:printers=/dev/printers/0 -r sound”

    pC 2

    Thinstation.conf-000B61654A1X
    SESSION_2_TITLE=”Windows XP SP2 PC2″
    SESSION_2_TYPE=rdesktop
    SESSION_3_RDESKTOP_SERVER=192.168.101.1
    SESSION_3_RDESKTOP_OPTIONS=”-u pc2 -p pc2 -r printer:printers=/dev/usb/lp0 -r sound”

    pC 3

    Thinstation.conf.Network
    SESSION_0_TITLE=”Windows XP SP2 PC2″
    SESSION_0_TYPE=rdesktop
    SESSION_0_RDESKTOP_SERVER=192.168.101.1
    SESSION_0_RDESKTOP_OPTIONS=”-u Administrator”

    PRINTER_0_NAME=”usb”
    PRINTER_0_DEVICE=/dev/usb/lp0
    PRINTER_0_TYPE=U

    kurang lebihnya seperti itu script konfigurasinya, dan pada saat add printer di server port saya arahkan ke TS001_ts000B61654A1X PRN1, tetapi saat cetak windows pada terminal tersebut log out ato langsung kembali ke form isian user dan password, pertanyaannya apa kira2x masalahnya kenapa saya tidak berhasil mencetak pada terminal service client ..??? mohon bantuannya untuk mensolve masalah saya ini

  2. to amir
    saya sendiri belum sempat coba printer di client
    Setting pc3 kelihatannya sudah benar seperti di http://thinstation.sourceforge.net/docs/HowTo-NetBoot.txt

    How to network-share a thin-client printer

    In thinstation.conf uncomment the following lines:

    PRINTER_0_NAME=”parallel”
    PRINTER_0_DEVICE=/dev/printers/0
    PRINTER_0_TYPE=P

    …now, your thin-client parallel port is network shared.
    To use this printer, add in your server a local printer associated with
    a network port; the main steps, on a W2000 server, are:

    – add a new printer
    – select “local” (don’t select “autodetect plug & play printer”)
    – create a new “standard TCP/IP” type port
    – next
    – IP address: insert the address of the thin-client
    – port type: “Hewlett Packard Jet Direct”
    – next
    – now select the correct printer driver, and finish…

    If the printer you want to share if USB, simply use these lines:

    PRINTER_0_NAME=usb
    PRINTER_0_DEVICE=/dev/usb/lp0
    PRINTER_0_TYPE=U

  3. mas ak dah install ltsp di kampusku buat akses internet..
    nah buat ngaktifin usb di client ltsp gimana ya mas caranya?

Tinggalkan Balasan ke amir Batalkan balasan