ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Yura Kalinichenko <yuk@iceb.vinnitsa.com>
To: AltLinux Community Maillist <community@altlinux.ru>
Subject: Re: [Comm] Re: CUPS
Date: 02 Sep 2004 12:48:46 +0300
Message-ID: <1094118526.2831.21.camel@iceb> (raw)
In-Reply-To: <200409021237.24168.kosha@kp.ru>

[-- Attachment #1: Type: text/plain, Size: 983 bytes --]

В Чтв, 02.09.2004, в 11:37, Korshunov Ilya написал:
> В сообщении от Четверг 02 Сентябрь 2004 12:17 Michael Shigorin написал(a):
> > On Thu, Sep 02, 2004 at 11:17:07AM +0300, Yura Kalinichenko wrote:
> > > Я для такого случая даю юзерам кнопку "Сброс принтера".
> >
> > Как бы ее опакетить?..

Скрипт на 2 кило в пакет ? IMHO, перебор...

> 
> 
> Э...подробнее pls :-)
> Имеется в виду кнопка старт/рестрат в веб-интерфейсе купса ? Если да то как 
> дали юзерам только её не давая доступ к всему остальному ? 

Не через веб. Скрипт с мордой на Xdialog запускается из xdm -
естественно, с правами рута, и висит в виде менюшки в правом нижнем углу
экрана. Делает три вещи, которые необходимо делать от рута: сброс
локальных принтеров, останов и перезагрузку компьютера.

Скрипт пришит к письму. В случае xdm вызов его помещается в
/etc/X11/xdm/Xsetup_0 (образец также пришит). Как действовать в лучае
других dm - не пользую, не знаю.

-- 
Yura Kalinichenko


[-- Attachment #2: xshut --]
[-- Type: text/x-sh, Size: 2304 bytes --]

#!/bin/sh

x0=187
y0=152

DIALOG=Xdialog
TITLE="Управление компьютером"
sigs="1 2 3 5 10 13 15"
tf=/tmp/xshut.$$
trap abort $sigs

if [ -z "$DISPLAY" ]; then
   export DISPLAY=:0
fi

abort() {
  rm -f $tf
  exit 1
}

set_printers_list() {
#  PRINTERS="iceb hpdj"
   PRINTERS=`lpstat -v | grep -e " usb:/" -e " parallel:/" | cut -d: -f1 | awk '{print $3}'`
}

reset_printers() {
   local title
   title="Printer reset"
   set_printers_list
   set -- $PRINTERS
   if [ $# -eq 0 ]; then
      $DIALOG --title "$title" --msgbox "На этом компьютере не установлен\nни один принтер - сбрасывать нечего." 8 40
      return 1
   elif [ $# -eq 1 ]; then
      PRINTERS=$1
   else
      set -- $PRINTERS
      menuh=$#
      if [ "$DIALOG" = "Xdialog" ]; then
         dh=12
         max_menuh=20
      else
         dh=8
         max_menuh=17
      fi
      if [ $menuh -gt $max_menuh ]; then
         menuh=$max_menuh
      fi
      h=`expr $menuh + $dh`
      str="_ Все on"
      for lp in $PRINTERS ; do
         str="$str $lp . off"
      done
      if $DIALOG --title "$title" --begin $x0 $y0 --separate-output \
	 --checklist "Какой принтер сбрасывать:" \
         $h 30 $menuh $str 2> $tf ; then
            list=`cat $tf`
            if [ "$list" \!= "_" ]; then
              PRINTERS="$list"
            fi
      else
         return 1
      fi
   fi
   set -- $PRINTERS
   while [ $# -gt 0 ] ; do
      $DIALOG --title "$title"--begin $x0 $y0 --no-buttons --infobox "Сбрасываем $1..." 3 30
      lprm -P$1 -
      lpadmin -p $1 -E
      shift
   done
   return 0

}

#main
#export XDIALOG_HIGH_DIALOG_COMPAT=1
#export LC_CTYPE=uk_UA.KOI8-U
export LC_CTYPE=ru_RU.KOI8-R
#--fixed-font --no-cancel 
#--rc-file /usr/local/etc/xshut.rc 
#echo $$ > /var/run/xshut.pid
while [ 1 ]; do
   mode=`Xdialog --stdout \
	--title Shutdown --no-tags --no-cancel \
	--radiolist "$TITLE" ${x0}x${y0}-1-40 2 \
	p "Сброс принтеров" on \
	h "Выключить" off \
	r "Перезагрузить" off`
   if [ $? -eq 0 ]; then
      case "$mode" in
      p)
      	  reset_printers
      ;;
      h|r)
          shutdown -$mode now
          break
      ;;
      *)  break 
      ;;
      esac
   else
      break
   fi
done
rm -rf $tf

[-- Attachment #3: Xsetup_0 --]
[-- Type: text/x-sh, Size: 645 bytes --]

#!/bin/sh
# (C) MandrakeSoft
# Chmouel Boudjnah <chmouel@mandrakesoft.com>

# Source function library.
. /etc/init.d/functions

SourceIfNotEmpty /etc/profile.d/kde.sh

[ -n "$KDEDIR" ] || KDEDIR=/usr

if [ -x $KDEDIR/bin/kdmdesktop ];then
#      /usr/bin/kdmdesktop
# Commented above line and added next line because of kdedesktop issues 
# fixes background.
      /usr/X11R6/bin/xsetroot -solid "#666699"
else
      /usr/X11R6/bin/xsetroot -solid "#666699"
      /usr/X11R6/bin/xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail
fi

ExecIfExecutable /etc/X11/xinit/fixkeyboard
/usr/local/bin/xshut &
freetemp
xbanner

  reply	other threads:[~2004-09-02  9:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-02  5:52 [Comm] CUPS Korshunov Ilya
2004-09-02  8:17 ` Yura Kalinichenko
2004-09-02  8:17   ` [Comm] CUPS Michael Shigorin
2004-09-02  8:37     ` Korshunov Ilya
2004-09-02  9:48       ` Yura Kalinichenko [this message]
2004-09-02 10:16         ` Michael Shigorin
2004-09-02 10:55           ` Yura Kalinichenko
2004-09-02 10:23         ` Korshunov Ilya
2004-09-02 10:59           ` Yura Kalinichenko
2004-09-02 11:52             ` Korshunov Ilya
2004-09-03  4:39               ` Yura Kalinichenko
2004-09-03  4:49                 ` Korshunov Ilya
2004-09-03  5:11                   ` Yura Kalinichenko
2004-09-03  7:08                     ` [Comm] Re: CUPS reset Michael Shigorin
2004-09-04  7:11                       ` Yura Kalinichenko
2004-09-06  8:44                         ` Michael Shigorin
2004-09-06 14:27                           ` Yura Kalinichenko
2004-09-06 16:02                             ` Michael Shigorin
2004-09-07  5:08                               ` Yura Kalinichenko
2004-09-02 11:03         ` [Comm] Re: CUPS Alexey Novikov
2004-09-03  4:43           ` Yura Kalinichenko
2004-09-03  6:45             ` Alexey Novikov
2004-09-03  9:07               ` Alexey Novikov
2004-09-04  7:08                 ` Yura Kalinichenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1094118526.2831.21.camel@iceb \
    --to=yuk@iceb.vinnitsa.com \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git