slitaz-tools annotate oldstuff/gtkdialog/serverbox @ rev 1012

Update Makefile
author Christophe Lincoln <pankso@slitaz.org>
date Sat Feb 11 23:45:29 2017 +0100 (2017-02-11)
parents eb7469a8467f
children
rev   line source
jozee@462 1 #!/bin/sh
jozee@462 2 #
jozee@462 3 # Gtkdialog box to manage servers.
jozee@462 4 # Please use tab to indent.
jozee@462 5
jozee@462 6 VERSION=20100315
jozee@462 7
jozee@462 8 . /usr/lib/slitaz/gui_functions
jozee@462 9
jozee@462 10 # Check if user is root.
jozee@462 11 check_root()
jozee@462 12 {
jozee@462 13 if test $(id -u) != 0 ; then
jozee@462 14 echo -e "
jozee@462 15 You must be root to run `basename $0`. Please type 'su' and
jozee@462 16 root password to become super-user.\n"
jozee@462 17 exit 0
jozee@462 18 fi
jozee@462 19 }
jozee@462 20 #
jozee@462 21 # Status servers
jozee@462 22 #
jozee@462 23 tab_status_servers()
jozee@462 24 {
jozee@462 25 local servers
pascal@547 26 servers="dropbear sshd inetd dhcpd dnsd named rsync httpd mbd vnc pppd \
pascal@547 27 knock postfix fetchmail cyrus perdition slapd sql squid slim cron ntp nfsd \
pascal@547 28 ftpd cups"
jozee@462 29 cat <<EOT
pascal@547 30 <tree>
pascal@547 31 <label>Server processes</label>
pascal@547 32 <input>for i in $servers; do ps ww | grep \$i | grep -v grep; done</input>
pascal@547 33 </tree>
jozee@462 34 EOT
jozee@462 35 }
jozee@462 36
jozee@462 37 data_status()
jozee@462 38 {
jozee@462 39 cat <<EOT
jozee@462 40 ps Servers tab_status_servers
jozee@462 41 EOT
jozee@462 42 }
jozee@462 43
jozee@462 44 #
jozee@462 45 # Status
jozee@462 46 #
jozee@462 47 tab_status()
jozee@462 48 {
jozee@462 49 use_tab data_status
jozee@462 50 }
jozee@462 51
jozee@462 52 sshremote()
jozee@462 53 {
jozee@462 54 cat << EOT
jozee@462 55 <hbox>
jozee@462 56 <text use-markup="true">
jozee@462 57 <label>"<b>Remote :</b>"</label>
jozee@462 58 </text>
jozee@462 59 <entry>
jozee@462 60 <variable>$2</variable>
jozee@462 61 <default>user@elsewhere</default>
jozee@462 62 </entry>
jozee@462 63 <button>
jozee@462 64 <input file icon="utilities-terminal"></input>
jozee@462 65 <label>Connect</label>
jozee@462 66 <action>xterm -fa MiscFixed -fs 11 -bg black -fg white -geometry 80x25 -title "$1" -e "$1 \$$2 ; echo -e \"----\nENTER to continue...\" && read close" &</action>
jozee@462 67 </button>
jozee@462 68 <button>
jozee@462 69 <input file icon="go-up"></input>
jozee@462 70 <label>Send key</label>
jozee@462 71 <action>$xterm -geometry 80x10 -title "send ssh key" -e "$0 call sendsshkey \$$2; echo -e \"----\nENTER to continue...\" && read close"</action>
jozee@462 72 </button>
jozee@462 73 </hbox>
jozee@462 74 EOT
jozee@462 75 }
jozee@462 76 #
jozee@462 77 # Dropbear client & server
jozee@462 78 #
jozee@462 79 tab_dropbear()
jozee@462 80 {
jozee@462 81 . /etc/daemons.conf
jozee@462 82 set -- $DROPBEAR_OPTIONS
jozee@462 83 while [ -n "$2" ]; do
jozee@462 84 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
jozee@462 85 shift
jozee@462 86 done
jozee@462 87
jozee@462 88 cat <<EOT
jozee@462 89 <frame Dropbear>
pascal@547 90 $(helpdaemon dropbear 80x35 DROPBEAR_OPTIONS DROPBEAR_OPTS)
jozee@462 91 $(datafile /etc/dropbear/banner DROPBEAR_BANNER 'Banner :')
jozee@462 92 $(sshremote DROPBEAR_PEER 'dbclient -i /etc/dropbear/dropbear_rsa_host_key')
jozee@462 93 <hbox>
jozee@462 94 $(startstopdaemon dropbear)
jozee@462 95 </hbox>
jozee@462 96 </frame>
jozee@462 97 EOT
jozee@462 98 }
jozee@462 99
jozee@462 100 #
jozee@462 101 # OpenSSH client & server
jozee@462 102 #
jozee@462 103 tab_openssh()
jozee@462 104 {
jozee@462 105 cat <<EOT
jozee@462 106 <frame OpenSSH>
jozee@462 107 $(helpdaemon sshd 80x30 OPENSSH_OPTIONS OPENSSH_OPTS 8 nohelp)
jozee@462 108 $(configfile /etc/ssh/sshd_config OPENSSH_CONF '5 sshd_config')
jozee@462 109 $(sshremote OPENSSH_PEER 'ssh -i /etc/ssh/ssh_host_rsa_key')
jozee@462 110 <hbox>
jozee@462 111 $(startstopdaemon openssh)
jozee@462 112 </hbox>
jozee@462 113 </frame>
jozee@462 114 EOT
jozee@462 115 }
jozee@462 116
jozee@462 117 data_sshd()
jozee@462 118 {
jozee@462 119 cat <<EOT
jozee@462 120 dropbear Dropbear tab_dropbear
jozee@462 121 sshd OpenSSH tab_openssh
jozee@462 122 EOT
jozee@462 123 }
jozee@462 124
jozee@462 125 #
jozee@462 126 # SSH tab
jozee@462 127 #
jozee@462 128 tab_sshd()
jozee@462 129 {
jozee@462 130 use_tab data_sshd
jozee@462 131 }
jozee@462 132
jozee@462 133 #
jozee@462 134 # Busybox Inetd
jozee@462 135 #
jozee@462 136 tab_inetd()
jozee@462 137 {
jozee@462 138 cat <<EOT
jozee@462 139 <frame Inetd (busybox)>
pascal@547 140 $(helpdaemon inetd 60x20 INETD_OPTIONS INETD_OPTS)
jozee@462 141 $(configfile /etc/inetd.conf INETD_CONF)
jozee@462 142 <hbox>
jozee@462 143 EOT
jozee@462 144 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
jozee@462 145 i=$(basename $i)
pascal@547 146 helpbutton $i 60x24 $i
jozee@462 147 done
jozee@462 148 cat <<EOT
jozee@462 149 $(startstopdaemon inetd)
jozee@462 150 </hbox>
jozee@462 151 </frame>
jozee@462 152 EOT
jozee@462 153 }
jozee@462 154
jozee@462 155 #
jozee@462 156 # ZeroConf
jozee@462 157 #
jozee@462 158 tab_zcip()
jozee@462 159 {
jozee@462 160
jozee@462 161 . /etc/daemons.conf
jozee@462 162 if [ -x /sbin/zcip -a -z "$ZCIP_OPTIONS" ]; then
jozee@462 163 ZCIP_OPTIONS="eth0 /etc/zcip.script"
jozee@462 164 cat >> /etc/daemons.conf <<EOT
jozee@462 165 # ZeroConf options
jozee@462 166 ZCIP_OPTIONS="$ZCIP_OPTIONS"
jozee@462 167
jozee@462 168 EOT
jozee@462 169 fi
jozee@462 170 cat <<EOT
jozee@462 171 <frame Zcip (busybox)>
pascal@547 172 $(helpdaemon zcip 60x20 ZCIP_OPTIONS ZCIP_OPTS)
jozee@462 173 $(datafile /etc/zcip.script CZIP_SCRIPT 'Script :')
jozee@462 174 <hbox>
jozee@462 175 $(startstopdaemon zcip)
jozee@462 176 </hbox>
jozee@462 177 </frame>
jozee@462 178 EOT
jozee@462 179 }
jozee@462 180
jozee@462 181 #
jozee@462 182 # Dhcpd ISC
jozee@462 183 #
jozee@462 184 tab_isc_dhcpd()
jozee@462 185 {
jozee@462 186 cat <<EOT
jozee@462 187 <frame Dhcpd (ISC)>
jozee@462 188 $(helpdaemon dhcpd 60x14 DHCPD_OPTIONS DHCPD_OPTS)
jozee@462 189 $(configfile /etc/dhcpd.conf DHCPD_CONF)
jozee@462 190 <hbox>
jozee@462 191 $(startstopdaemon dhcpd dhcp)
jozee@462 192 </hbox>
jozee@462 193 </frame>
jozee@462 194 EOT
jozee@462 195 }
jozee@462 196
jozee@462 197 #
jozee@462 198 # Dhcpd Busybox
jozee@462 199 #
jozee@462 200 tab_udhcpd()
jozee@462 201 {
jozee@462 202 cat <<EOT
jozee@462 203 <frame Udhcpd (busybox)>
pascal@547 204 $(helpdaemon udhcpd 60x18 UDHCPD_OPTIONS UDHCPD_OPTS)
jozee@462 205 $(configfile /etc/udhcpd.conf UDHCPD_CONF)
jozee@462 206 <hbox>
jozee@462 207 $(startstopdaemon udhcpd busybox)
jozee@462 208 </hbox>
jozee@462 209 </frame>
jozee@462 210 EOT
jozee@462 211 }
jozee@462 212
jozee@462 213 data_dhcpd()
jozee@462 214 {
jozee@462 215 cat <<EOT
jozee@462 216 udhcpd Udhcpd tab_udhcpd
jozee@462 217 dhcpd Dhcpd tab_isc_dhcpd
jozee@462 218 dnsmasq DNSmasq tab_dnsmasq
jozee@462 219 EOT
jozee@462 220 }
jozee@462 221
jozee@462 222 #
jozee@462 223 # dhcpd tab
jozee@462 224 #
jozee@462 225 tab_dhcpd()
jozee@462 226 {
jozee@462 227 use_tab data_dhcpd
jozee@462 228 }
jozee@462 229
jozee@462 230 #
jozee@462 231 # PXE forwarder
jozee@462 232 #
jozee@462 233 tab_gpxe()
jozee@462 234 {
jozee@462 235 cat <<EOT
jozee@462 236 <frame PXE forwarder>
jozee@462 237 <hbox>
jozee@462 238 <text use-markup="true">
jozee@462 239 <label>"<b>WEB boot URL(s) :</b>"</label>
jozee@462 240 </text>
jozee@462 241 </hbox>
jozee@462 242 <hbox>
jozee@462 243 <entry editable="true">
jozee@462 244 <default>
jozee@462 245 "$(dd bs=1 skip=5 count=255 if=/usr/share/boot/gpxe.pxe 2> /dev/null | strings)"
jozee@462 246 </default>
jozee@462 247 <variable>WEB_PXE</variable>
jozee@462 248 </entry>
jozee@462 249 </hbox>
jozee@462 250 <hbox>
pascal@498 251 $(wikibutton http://doc.slitaz.org/en:guides:pxe)
jozee@462 252 <button>
jozee@462 253 <input file icon="go-jump"></input>
jozee@462 254 <label>Install</label>
jozee@462 255 <action>
jozee@462 256 echo -n "\$WEB_PXE" | cat - /dev/zero | \
jozee@462 257 dd conv=notrunc bs=1 seek=5 count=255 of=/usr/share/boot/gpxe.pxe
jozee@462 258 </action>
jozee@462 259 <action>
jozee@462 260 sed -i "s|tftpd -r .*\$|tftpd -r /usr/share/boot|" /etc/inetd.conf
jozee@462 261 </action>
jozee@462 262 <action> sed -i "/^boot_file/d" \$UDHCPD_CONF </action>
jozee@462 263 <action> echo "boot_file gpxe.pxe" >> \$UDHCPD_CONF </action>
jozee@462 264 <action> /etc/init.d/inetd restart </action>
jozee@462 265 <action> /etc/init.d/udhcpd restart </action>
jozee@462 266 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)inetd \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action>
jozee@462 267 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)udhcpd \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action>
jozee@462 268 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)\\"/RUN_DAEMONS=\\"udhcpd inetd \1\\"/" /etc/rcS.conf</action>
jozee@462 269 </button>
jozee@462 270 </hbox>
jozee@462 271 </frame>
jozee@462 272 EOT
jozee@462 273 }
jozee@462 274
jozee@462 275 #
jozee@462 276 # PXE server
jozee@462 277 #
jozee@462 278 tab_pxelinux()
jozee@462 279 {
jozee@462 280 cat <<EOT
jozee@462 281 <frame PXElinux>
jozee@462 282 <hbox>
jozee@462 283 <text wrap="true">
jozee@462 284 <label>
jozee@462 285 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
jozee@462 286 </label>
jozee@462 287 </text>
jozee@462 288 </hbox>
jozee@462 289 <hbox>
jozee@462 290 <text use-markup="true">
jozee@462 291 <label>"<b>Configuration :</b>"</label>
jozee@462 292 </text>
jozee@462 293 <entry editable="false">
jozee@462 294 <default>
jozee@462 295 $(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')/pxelinux.cfg/default
jozee@462 296 </default>
jozee@462 297 <variable>PXE_CONF</variable>
jozee@462 298 </entry>
jozee@462 299 <button>
jozee@462 300 <input file icon="accessories-text-editor"></input>
jozee@462 301 <action>dir=\$(dirname \$PXE_CONF); [ -d \$dir ] || mkdir -p \$dir</action>
jozee@462 302 <action>lzma d /usr/share/boot/pxelinux.0.lzma \$(dirname \$PXE_CONF)/../pxelinux.0</action>
jozee@462 303 <action>sed -i "/^boot_file/d" \$UDHCPD_CONF</action>
jozee@462 304 <action>echo "boot_file pxelinux.0" >> \$UDHCPD_CONF</action>
jozee@462 305 <action>grep -q "^siaddr" \$UDHCPD_CONF || echo "siaddr \$(ifconfig \$INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> \$UDHCPD_CONF</action>
jozee@462 306 <action>[ -f \$PXE_CONF ] || echo -e "label linux\n\tkernel bzImage\n\tappend initrd=rootfs.gz rw root=/dev/null vga=normal" > \$PXE_CONF</action>
jozee@462 307 <action type="lauch">leafpad \$PXE_CONF</action>
jozee@462 308 </button>
jozee@462 309 </hbox>
jozee@462 310 <hbox>
pascal@498 311 $(wikibutton http://doc.slitaz.org/en:guides:pxe)
jozee@462 312 <button>
jozee@462 313 <input file icon="system-file-manager"></input>
jozee@462 314 <label>Network boot files</label>
jozee@462 315 <action>$xterm -geometry 100x25 -title "Network boot files (q to quit)" -e "find \$(dirname \$(dirname \$PXE_CONF)) -exec ls -ld {} \; | less"</action>
jozee@462 316 </button>
jozee@462 317 </hbox>
jozee@462 318 </frame>
jozee@462 319 EOT
jozee@462 320 }
jozee@462 321
jozee@462 322 data_pxe()
jozee@462 323 {
jozee@462 324 [ -f /usr/share/boot/pxelinux.0.lzma ] && cat <<EOT
jozee@462 325 true PXElinux tab_pxelinux
jozee@462 326 EOT
jozee@462 327 [ -f /usr/share/boot/gpxe.pxe ] && cat <<EOT
jozee@462 328 true PXE\ forwarder tab_gpxe
jozee@462 329 EOT
jozee@462 330 }
jozee@462 331
jozee@462 332 #
jozee@462 333 # PXE
jozee@462 334 #
jozee@462 335 tab_pxe()
jozee@462 336 {
jozee@462 337 use_tab data_pxe
jozee@462 338 }
jozee@462 339
jozee@462 340 #
jozee@462 341 # Busybox dnsd
jozee@462 342 #
jozee@462 343 tab_dnsd()
jozee@462 344 {
jozee@462 345 cat <<EOT
jozee@462 346 <frame Dnsd (busybox master dns)>
pascal@547 347 $(helpdaemon dnsd 80x24 DNSD_OPTIONS DNSD_OPTS)
jozee@462 348 $(configfile /etc/dnsd.conf DNSD_CONF)
jozee@462 349 <hbox>
jozee@462 350 $(startstopdaemon dnsd busybox)
jozee@462 351 </hbox>
jozee@462 352 </frame>
jozee@462 353 EOT
jozee@462 354 }
jozee@462 355
jozee@462 356 #
jozee@462 357 # ISC Bind
jozee@462 358 #
jozee@462 359 tab_named()
jozee@462 360 {
jozee@462 361 cat <<EOT
jozee@462 362 <frame Named (ISC bind)>
jozee@462 363 $(helpdaemon named 80x10 NAMED_OPTIONS NAMED_OPTS)
jozee@462 364 $(configfile /etc/bind/named.conf.local NAMED_CONF)
jozee@462 365 <hbox>
jozee@462 366 $(startstopdaemon named bind)
jozee@462 367 </hbox>
jozee@462 368 </frame>
jozee@462 369 EOT
jozee@462 370 }
jozee@462 371
jozee@462 372 #
jozee@462 373 # DNSmasq
jozee@462 374 #
jozee@462 375 tab_dnsmasq()
jozee@462 376 {
jozee@462 377 cat <<EOT
jozee@462 378 <frame DNSmasq (DNS/DHCP/TFTP)>
jozee@462 379 $(helpdaemon dnsmasq 100x34 DNSMASQ_OPTIONS DNSMASQ_OPTS)
jozee@462 380 $(configfile /etc/dnsmasq.conf DNSMASQ_CONF)
jozee@462 381 <hbox>
jozee@462 382 $(startstopdaemon dnsmasq)
jozee@462 383 </hbox>
jozee@462 384 </frame>
jozee@462 385 EOT
jozee@462 386 }
jozee@462 387
jozee@462 388 data_dns()
jozee@462 389 {
jozee@462 390 cat <<EOT
jozee@462 391 dnsd Dnsd tab_dnsd
jozee@462 392 named Named tab_named
jozee@462 393 dnsmasq DNSmasq tab_dnsmasq
jozee@462 394 #TODO sheerdns Sheerdns tab_sheerdns
jozee@462 395 EOT
jozee@462 396 }
jozee@462 397
jozee@462 398 #
jozee@462 399 # dns tab
jozee@462 400 #
jozee@462 401 tab_dns()
jozee@462 402 {
jozee@462 403 use_tab data_dns
jozee@462 404 }
jozee@462 405
jozee@462 406 #
pascal@546 407 # Postfix
pascal@546 408 #
pascal@546 409 tab_postfix()
pascal@546 410 {
pascal@546 411 cat <<EOT
pascal@546 412 <frame Postfix>
pascal@546 413 $(configfile /etc/postfix/main.cf POSTFIX_CONF)
pascal@546 414 <hbox>
pascal@546 415 $(startstopdaemon postfix)
pascal@546 416 </hbox>
pascal@546 417 </frame>
pascal@546 418 EOT
pascal@546 419 }
pascal@546 420
pascal@546 421 #
pascal@546 422 # Fetchmail
pascal@546 423 #
pascal@546 424 tab_fetchmail()
pascal@546 425 {
pascal@546 426 cat <<EOT
pascal@546 427 <frame Fetchmail>
pascal@546 428 $(helpdaemon fetchmail 100x34 FETCHMAIL_OPTIONS FETCHMAIL_OPTS)
pascal@546 429 $(configfile /etc/fetchmail.conf FETCHMAIL_CONF)
pascal@546 430 <hbox>
pascal@546 431 $(startstopdaemon fetchmail)
pascal@546 432 </hbox>
pascal@546 433 </frame>
pascal@546 434 EOT
pascal@546 435 }
pascal@546 436
pascal@546 437 #
pascal@546 438 # Postgrey
pascal@546 439 #
pascal@546 440 tab_postgrey()
pascal@546 441 {
pascal@546 442 cat <<EOT
pascal@546 443 <frame Postgrey (SMTP grey list)>
pascal@546 444 $(helpdaemon postgrey 100x34 POSTGREY_OPTIONS POSTGREY_OPTS)
pascal@546 445 <hbox>
pascal@546 446 $(startstopdaemon postgrey)
pascal@546 447 </hbox>
pascal@546 448 </frame>
pascal@546 449 EOT
pascal@546 450 }
pascal@546 451
pascal@546 452 data_smtp()
pascal@546 453 {
pascal@546 454 cat <<EOT
pascal@546 455 postfix Postfix tab_postfix
pascal@546 456 fetchmail Fetchmail tab_fetchmail
pascal@546 457 postgrey Grey\ list tab_postgrey
pascal@546 458 EOT
pascal@546 459 }
pascal@546 460
pascal@546 461 #
pascal@546 462 # smtp tab
pascal@546 463 #
pascal@546 464 tab_smtp()
pascal@546 465 {
pascal@546 466 use_tab data_smtp
pascal@546 467 }
pascal@546 468
pascal@546 469 #
pascal@546 470 # Cyrus IMAP
pascal@546 471 #
pascal@546 472 tab_cyrus()
pascal@546 473 {
pascal@546 474 cat <<EOT
pascal@547 475 <frame Cyrus IMAP/POP3>
pascal@546 476 $(configfile /etc/imapd.conf IMAPD_CONF)
pascal@546 477 $(configfile /etc/cyrus.conf CYRUS_CONF)
pascal@546 478 <hbox>
pascal@546 479 $(startstopdaemon cyrus-imapd)
pascal@546 480 </hbox>
pascal@546 481 </frame>
pascal@546 482 EOT
pascal@546 483 }
pascal@546 484
pascal@546 485 #
pascal@546 486 # Perdition IMAP/POP3 proxy
pascal@546 487 #
pascal@546 488 tab_perdition()
pascal@546 489 {
pascal@546 490 cat <<EOT
pascal@547 491 <frame Perdition IMAP/POP3 proxy>
pascal@546 492 $(helpdaemon perdition 100x34 PERDITION_OPTIONS PERDITION_OPTS)
pascal@546 493 $(configfile /etc/perdition/perdition.imap4.conf PROXY_IMAP_CONF)
pascal@546 494 $(configfile /etc/perdition/perdition.pop3.conf PROXY_POP3_CONF)
pascal@546 495 <hbox>
pascal@546 496 $(startstopdaemon perdition)
pascal@546 497 </hbox>
pascal@546 498 </frame>
pascal@546 499 EOT
pascal@546 500 }
pascal@546 501
pascal@546 502 data_imap()
pascal@546 503 {
pascal@546 504 cat <<EOT
pascal@546 505 cyradm Cyrus tab_cyrus
pascal@546 506 perdition Proxy tab_perdition
pascal@546 507 EOT
pascal@546 508 }
pascal@546 509
pascal@546 510 #
pascal@546 511 # imap tab
pascal@546 512 #
pascal@546 513 tab_imap()
pascal@546 514 {
pascal@546 515 use_tab data_imap
pascal@546 516 }
pascal@546 517
pascal@546 518 #
pascal@546 519 # Squid
pascal@546 520 #
pascal@546 521 tab_squid()
pascal@546 522 {
pascal@546 523 cat <<EOT
pascal@546 524 <frame Squid>
pascal@547 525 $(helpdaemon squid 100x26 SQUID_OPTIONS SQUID_OPTS)
pascal@546 526 $(configfile /etc/squid.conf SQUID_CONF)
pascal@546 527 $([ -s /etc/squidGuard/squidGuard.conf ] && configfile /etc/squidGuard/squidGuard.conf SQUIDGUARD_CONF)
pascal@546 528 <hbox>
pascal@546 529 $(startstopdaemon squid)
pascal@546 530 </hbox>
pascal@546 531 </frame>
pascal@546 532 EOT
pascal@546 533 }
pascal@546 534
pascal@546 535 #
pascal@546 536 # Asterisk
pascal@546 537 #
pascal@546 538 tab_asterisk()
pascal@546 539 {
pascal@546 540 cat <<EOT
pascal@546 541 <frame Asterisk telephony>
pascal@546 542 $(configfile /etc/asterisk/extensions.conf ASTERISK_CONF)
pascal@546 543 <hbox>
pascal@546 544 $(startstopdaemon asterisk)
pascal@546 545 </hbox>
pascal@546 546 </frame>
pascal@546 547 EOT
pascal@546 548 }
pascal@546 549
pascal@546 550 #
pascal@546 551 # OpenLDAP
pascal@546 552 #
pascal@546 553 tab_openldap()
pascal@546 554 {
pascal@546 555 cat <<EOT
pascal@546 556 <frame OpenLDAP>
pascal@546 557 $(configfile /etc/openldap/slapd.conf LDAP_CONF)
pascal@546 558 <hbox>
pascal@546 559 $(startstopdaemon openldap)
pascal@546 560 </hbox>
pascal@546 561 </frame>
pascal@546 562 EOT
pascal@546 563 }
pascal@546 564
pascal@546 565 #
pascal@546 566 # MySQL
pascal@546 567 #
pascal@546 568 tab_mysql()
pascal@546 569 {
pascal@546 570 cat <<EOT
pascal@546 571 <frame MySQL>
pascal@547 572 $(helpdaemon mysqld_safe 100x24 MYSQL_OPTIONS MYSQL_OPTS)
pascal@546 573 $(configfile /etc/my.conf MYSQL_CONF)
pascal@546 574 <hbox>
pascal@546 575 $(startstopdaemon mysql)
pascal@546 576 </hbox>
pascal@546 577 </frame>
pascal@546 578 EOT
pascal@546 579 }
pascal@546 580
pascal@546 581 #
pascal@546 582 # PostgreSQL
pascal@546 583 #
pascal@546 584 tab_postgresql()
pascal@546 585 {
pascal@546 586 cat <<EOT
pascal@546 587 <frame PostgreSQL>
pascal@546 588 $(helpdaemon postgres 100x34 PGSQL_OPTIONS PGSQL_OPTS)
pascal@546 589 $(configfile /etc/postgresql.conf POSTGRESQL_CONF)
pascal@546 590 <hbox>
pascal@546 591 $(startstopdaemon postgresql)
pascal@546 592 </hbox>
pascal@546 593 </frame>
pascal@546 594 EOT
pascal@546 595 }
pascal@546 596
pascal@546 597 data_sql()
pascal@546 598 {
pascal@546 599 cat <<EOT
pascal@546 600 mysqld_safe MySQL tab_mysql
pascal@546 601 postgres PostgreSQL tab_postgresql
pascal@546 602 EOT
pascal@546 603 }
pascal@546 604
pascal@546 605 #
pascal@546 606 # sql tab
pascal@546 607 #
pascal@546 608 tab_sql()
pascal@546 609 {
pascal@546 610 use_tab data_sql
pascal@546 611 }
pascal@546 612
pascal@546 613 #
pascal@547 614 # Slim display manager
pascal@547 615 #
pascal@547 616 tab_slim()
pascal@547 617 {
pascal@547 618 cat <<EOT
pascal@547 619 <frame Slim display manager>
pascal@547 620 $(helpdaemon slim 80x10 SLIM_OPTIONS SLIM_OPTS)
pascal@547 621 $(configfile /etc/slim.conf SLIM_CONF)
pascal@547 622 <hbox>
pascal@547 623 $(startstopdaemon slim)
pascal@547 624 </hbox>
pascal@547 625 </frame>
pascal@547 626 EOT
pascal@547 627 }
pascal@547 628
pascal@547 629 #
pascal@547 630 # Cron
pascal@547 631 #
pascal@547 632 tab_cron()
pascal@547 633 {
pascal@547 634 cat <<EOT
pascal@547 635 <frame Crond (busybox)>
pascal@547 636 $(helpdaemon crond 80x15 CROND_OPTIONS CROND_OPTS)
pascal@547 637 <hbox>
pascal@547 638 $(startstopdaemon crond)
pascal@547 639 </hbox>
pascal@547 640 </frame>
pascal@547 641 EOT
pascal@547 642 }
pascal@547 643
pascal@547 644 #
pascal@547 645 # NTP
pascal@547 646 #
pascal@547 647 tab_ntp()
pascal@547 648 {
pascal@547 649 cat <<EOT
pascal@547 650 <frame Ntpd>
pascal@547 651 $(helpdaemon ntpd 100x34 NTP_OPTIONS NTP_OPTS)
pascal@547 652 $(configfile /etc/ntp.conf NTP_CONF)
pascal@547 653 <hbox>
pascal@547 654 $(startstopdaemon ntp)
pascal@547 655 </hbox>
pascal@547 656 </frame>
pascal@547 657 EOT
pascal@547 658 }
pascal@547 659
pascal@547 660 #
pascal@547 661 # nfsd
pascal@547 662 #
pascal@547 663 tab_nfsd()
pascal@547 664 {
pascal@547 665 cat <<EOT
pascal@547 666 <frame Nfsd>
pascal@547 667 $(configfile /etc/exports EXPORTS)
pascal@547 668 <hbox>
pascal@547 669 $(startstopdaemon nfsd nfs-utils)
pascal@547 670 </hbox>
pascal@547 671 </frame>
pascal@547 672 EOT
pascal@547 673 }
pascal@547 674
pascal@547 675 #
pascal@547 676 # unfsd
pascal@547 677 #
pascal@547 678 tab_unfsd()
pascal@547 679 {
pascal@547 680 cat <<EOT
pascal@547 681 <frame Unfsd>
pascal@547 682 $(helpdaemon ntpd 80x20 UNFSD_OPTIONS UNFSD_OPTS)
pascal@547 683 $(configfile /etc/exports EXPORTS)
pascal@547 684 <hbox>
pascal@547 685 $(startstopdaemon unfsd unfs3)
pascal@547 686 </hbox>
pascal@547 687 </frame>
pascal@547 688 EOT
pascal@547 689 }
pascal@547 690
pascal@547 691 data_nfs()
pascal@547 692 {
pascal@547 693 cat <<EOT
pascal@547 694 rpc.nfsd Nfsd tab_nfsd
pascal@547 695 unfsd Unfsd tab_unfsd
pascal@547 696 EOT
pascal@547 697 }
pascal@547 698
pascal@547 699 #
pascal@547 700 # nfs tab
pascal@547 701 #
pascal@547 702 tab_nfs()
pascal@547 703 {
pascal@547 704 use_tab data_nfs
pascal@547 705 }
pascal@547 706
pascal@547 707 #
pascal@547 708 # ftpd
pascal@547 709 #
pascal@547 710 tab_ftpd()
pascal@547 711 {
pascal@547 712 cat <<EOT
pascal@547 713 <frame ftpd>
pascal@547 714 $(helpdaemon ftpd 100x34 FTPD_OPTIONS FTPD_OPTS)
pascal@547 715 <hbox>
pascal@547 716 $(startstopdaemon ftpd)
pascal@547 717 </hbox>
pascal@547 718 </frame>
pascal@547 719 EOT
pascal@547 720 }
pascal@547 721
pascal@547 722 #
pascal@547 723 # pure-ftpd
pascal@547 724 #
pascal@547 725 tab_pureftpd()
pascal@547 726 {
pascal@547 727 cat <<EOT
pascal@547 728 <frame pure-ftpd>
pascal@547 729 $(helpdaemon pure-ftpd 80x34 PUREFTPD_OPTIONS PUREFTPD_OPTS)
pascal@547 730 <hbox>
pascal@547 731 $(startstopdaemon pure-ftpd)
pascal@547 732 </hbox>
pascal@547 733 </frame>
pascal@547 734 EOT
pascal@547 735 }
pascal@547 736
pascal@547 737 data_ftp()
pascal@547 738 {
pascal@547 739 cat <<EOT
pascal@547 740 $(readlink /usr/bin/ftpd | grep -q busybox && echo "true" ||
pascal@547 741 echo "#") Busybox\ ftpd tab_ftpd
pascal@547 742 pure-ftpd pure-ftpd tab_pureftpd
pascal@547 743 EOT
pascal@547 744 }
pascal@547 745
pascal@547 746 #
pascal@547 747 # ftp tab
pascal@547 748 #
pascal@547 749 tab_ftp()
pascal@547 750 {
pascal@547 751 use_tab data_ftp
pascal@547 752 }
pascal@547 753
pascal@547 754 #
pascal@547 755 # NTP
pascal@547 756 #
pascal@547 757 tab_ntp()
pascal@547 758 {
pascal@547 759 cat <<EOT
pascal@547 760 <frame Ntpd>
pascal@547 761 $(helpdaemon ntpd 80x20 NTP_OPTIONS NTP_OPTS)
pascal@547 762 $(configfile /etc/ntp.conf NTP_CONF)
pascal@547 763 <hbox>
pascal@547 764 $(startstopdaemon ntp)
pascal@547 765 </hbox>
pascal@547 766 </frame>
pascal@547 767 EOT
pascal@547 768 }
pascal@547 769
pascal@547 770 #
pascal@547 771 # cups
pascal@547 772 #
pascal@547 773 tab_cups()
pascal@547 774 {
pascal@547 775 cat <<EOT
pascal@547 776 <frame Cupsd>
pascal@547 777 $(helpdaemon cupsd 80x12 CUPSD_OPTIONS CUPSD_OPTS)
pascal@547 778 $(configfile /etc/cups/cupsd.conf CUPSD_CONF)
pascal@547 779 <hbox>
pascal@547 780 $(startstopdaemon cupsd)
pascal@547 781 </hbox>
pascal@547 782 </frame>
pascal@547 783 EOT
pascal@547 784 }
pascal@547 785
pascal@547 786 #
jozee@462 787 # rsync server
jozee@462 788 #
jozee@462 789 tab_rsync()
jozee@462 790 {
jozee@462 791 cat <<EOT
jozee@462 792 <frame Rsync>
jozee@462 793 $(helpdaemon rsync 80x30 RSYNCD_OPTIONS RSYNCD_OPTS 1)
jozee@462 794 $(configfile /etc/rsyncd.conf RSYNCD_CONF)
jozee@462 795 $(datafile /etc/rsyncd.secrets RSYNCD_SECRETS 'Secrets file :')
jozee@462 796 <hbox>
jozee@462 797 $(startstopdaemon rsyncd rsync)
jozee@462 798 </hbox>
jozee@462 799 </frame>
jozee@462 800 EOT
jozee@462 801 }
jozee@462 802
jozee@462 803 php_ini()
jozee@462 804 {
jozee@462 805 [ -f /etc/php.ini ] && cat <<EOT
jozee@462 806 <frame PHP>
jozee@462 807 $(configfile /etc/php.ini PHP_CONF)
jozee@462 808 </frame>
jozee@462 809 EOT
jozee@462 810 }
jozee@462 811
jozee@462 812 #
jozee@462 813 # Apache server
jozee@462 814 #
jozee@462 815 tab_apache()
jozee@462 816 {
jozee@462 817 cat <<EOT
jozee@462 818 <frame Apache>
jozee@462 819 $(configfile /etc/apache/httpd.conf HTTPD_CONF)
jozee@462 820 $(php_ini)
jozee@462 821 <hbox>
jozee@462 822 $(startstopdaemon apache)
jozee@462 823 </hbox>
jozee@462 824 </frame>
jozee@462 825 EOT
jozee@462 826 }
jozee@462 827
jozee@462 828 #
jozee@462 829 # Lighttpd server
jozee@462 830 #
jozee@462 831 tab_lighttpd()
jozee@462 832 {
jozee@462 833 cat <<EOT
jozee@462 834 <frame Lighttpd>
jozee@462 835 $(helpdaemon lighttpd 80x15 LIGHTTPD_OPTIONS LIGHTTPD_OPTS)
jozee@462 836 $(configfile /etc/lighttpd/lighttpd.conf LIGHTTPD_CONF)
jozee@462 837 $(php_ini)
jozee@462 838 <hbox>
jozee@462 839 $(startstopdaemon lighttpd)
jozee@462 840 </hbox>
jozee@462 841 </frame>
jozee@462 842 EOT
jozee@462 843 }
jozee@462 844
jozee@462 845 #
jozee@462 846 # Busybox httpd server
jozee@462 847 #
jozee@462 848 tab_httpd()
jozee@462 849 {
jozee@462 850 cat <<EOT
jozee@462 851 <frame httpd (busybox)>
jozee@462 852 $(helpdaemon httpd 80x30 HTTPD_OPTIONS HTTPD_OPTS)
jozee@462 853 $(configfile /etc/httpd.conf HTTPD_CONF)
jozee@462 854 $(php_ini)
jozee@462 855 <hbox>
jozee@462 856 $(startstopdaemon httpd busybox)
jozee@462 857 </hbox>
jozee@462 858 </frame>
jozee@462 859 EOT
jozee@462 860 }
jozee@462 861
jozee@462 862 data_http()
jozee@462 863 {
jozee@462 864 cat <<EOT
jozee@462 865 /etc/apache/httpd.conf Apache tab_apache
jozee@462 866 lighttpd Lighttpd tab_lighttpd
jozee@462 867 /etc/httpd.conf Busybox\ httpd tab_httpd
pascal@547 868 squid Web\ cache tab_squid
jozee@462 869 EOT
jozee@462 870 }
jozee@462 871
jozee@462 872 #
jozee@462 873 # http tab
jozee@462 874 #
jozee@462 875 tab_http()
jozee@462 876 {
jozee@462 877 use_tab data_http
jozee@462 878 }
jozee@462 879
jozee@462 880 #
jozee@462 881 # Samba servers
jozee@462 882 #
jozee@462 883 tab_wins()
jozee@462 884 {
jozee@462 885 cat <<EOT
jozee@462 886 <frame Samba: smbd & nmbd>
jozee@462 887 $(configfile /etc/samba/smb.conf SMBD_CONF)
jozee@462 888 <hbox>
jozee@462 889 <button>
jozee@462 890 <label>Reload</label>
jozee@462 891 <input file icon="reload"></input>
jozee@462 892 <action>/etc/init.d/samba reload</action>
jozee@462 893 </button>
jozee@462 894 $(startstopdaemon samba)
jozee@462 895 </hbox>
jozee@462 896 </frame>
jozee@462 897 EOT
jozee@462 898 }
jozee@462 899
jozee@462 900 #
jozee@462 901 # x11vnc
jozee@462 902 #
jozee@462 903 tab_vnc()
jozee@462 904 {
jozee@462 905 cat <<EOT
jozee@462 906 <frame x11vnc>
jozee@462 907 $(helpdaemon x11vnc 80x30 X11VNC_OPTIONS X11VNC_OPTS)
jozee@462 908 <hbox>
jozee@462 909 <text use-markup="true">
jozee@462 910 <label>"<b>New password</b>"</label>
jozee@462 911 </text>
jozee@462 912 <entry>
jozee@462 913 <variable>X11VNC_PASSWD</variable>
jozee@462 914 </entry>
jozee@462 915 <button>
jozee@462 916 <input file icon="reload"></input>
jozee@462 917 <label>Update</label>
jozee@462 918 <action>x11vnc -storepasswd \$X11VNC_PASSWD /etc/vnc.secret</action>
jozee@462 919 </button>
jozee@462 920 </hbox>
jozee@462 921 <hbox>
jozee@462 922 $(startstopdaemon x11vnc)
jozee@462 923 </hbox>
jozee@462 924 </frame>
jozee@462 925 EOT
jozee@462 926 }
jozee@462 927
jozee@462 928 #
jozee@462 929 # knock server
jozee@462 930 #
jozee@462 931 tab_knockd()
jozee@462 932 {
jozee@462 933 cat <<EOT
jozee@462 934 <frame Knockd: trigger backdoors>
jozee@462 935 $(helpdaemon knockd 80x15 KNOCK_OPTIONS KNOCK_OPTS)
jozee@462 936 $(configfile /etc/knockd.conf KNOCKD_CONF)
jozee@462 937 <hbox>
jozee@462 938 $(startstopdaemon knockd knock)
jozee@462 939 </hbox>
jozee@462 940 </frame>
jozee@462 941 EOT
jozee@462 942 }
jozee@462 943
jozee@462 944 data_servers()
jozee@462 945 {
jozee@462 946 local $pxe
jozee@462 947 pxe="#"
jozee@462 948 [ -x /usr/bin/tftpd -a -x /usr/sbin/udhcpd ] && pxe="inetd"
jozee@462 949 [ -x /usr/sbin/dnsmasq ] && pxe="true"
jozee@462 950 [ -f /usr/share/boot/pxelinux.0.lzma -o /usr/share/boot/gpxe.pxe ] || pxe="#"
jozee@462 951 cat <<EOT
pascal@547 952 slim Slim tab_slim
pascal@547 953 crond Crond tab_cron
jozee@462 954 inetd Inetd tab_inetd
jozee@462 955 zcip ZeroConf tab_zcip
jozee@462 956 $([ -x /usr/sbin/udhcpd -o -x /usr/sbin/dhcpd -o -x /usr/sbin/dnsmasq ] &&
jozee@462 957 echo "true" ||
jozee@462 958 echo "#") DHCP tab_dhcpd
jozee@462 959 $pxe PXE tab_pxe
jozee@462 960 $([ -x /usr/sbin/dnsd -o -x /usr/sbin/named -o -x /usr/sbin/dnsmasq ] &&
jozee@462 961 echo "true" ||
jozee@462 962 echo "#") DNS tab_dns
pascal@547 963 ntpd NTP tab_ntp
pascal@547 964 cupsd CUPS tab_cups
pascal@547 965 $([ -x /usr/bin/mysqld_safe -o -x /usr/bin/postgres ] && echo "true" ||
pascal@547 966 echo "#") SQL tab_sql
pascal@547 967 knockd Knock tab_knockd
pascal@547 968 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "true" ||
pascal@547 969 echo "#") SSH tab_sshd
jozee@462 970 x11vnc VNC tab_vnc
pascal@547 971 dnsmasq TFTP tab_dnsmasq
pascal@547 972 $([ -x /usr/bin/ftpd -o -x /usr/sbin/pure-ftpd ] && echo "true" ||
pascal@547 973 echo "#") FTP tab_ftp
pascal@547 974 $([ -x /usr/sbin/lighttpd -o -x /usr/bin/httpd -o -x /usr/sbin/squid ] && echo "true" ||
pascal@547 975 echo "#") HTTP tab_http
pascal@547 976 rsync Rsync tab_rsync
pascal@547 977 $([ -x /usr/sbin/rpc.nfsd -o -x /usr/bin/unfsd ] && echo "true" ||
pascal@547 978 echo "#") NFS tab_nfs
pascal@547 979 smbd SAMBA tab_wins
pascal@546 980 slapcat LDAP tab_openldap
pascal@546 981 postfix SMTP tab_smtp
pascal@547 982 cyradm IMAP tab_imap
pascal@546 983 asterisk Telephony tab_asterisk
jozee@462 984 #TODO+callback pppd Pppd tab_pppd
jozee@462 985 #TODO pptpd PoPToP tab_poptop
jozee@462 986 EOT
jozee@462 987 }
jozee@462 988
jozee@462 989 #
jozee@462 990 # Servers tab
jozee@462 991 #
jozee@462 992 tab_servers()
jozee@462 993 {
jozee@462 994 use_tab data_servers
jozee@462 995 }
jozee@462 996
jozee@462 997 #
jozee@462 998 # Firewall tab
jozee@462 999 #
jozee@462 1000 tab_firewall()
jozee@462 1001 {
jozee@462 1002 cat <<EOT
jozee@462 1003 <frame Iptables>
jozee@462 1004 $(configfile /etc/firewall.conf IPTABLES_CONF)
jozee@462 1005 <hbox>
jozee@462 1006 $(helpbutton iptables 80x30)
jozee@462 1007 $(manbutton 8 iptables)
jozee@462 1008 $(webbutton iptables)
jozee@462 1009 <button>
jozee@462 1010 <label>Load</label>
jozee@462 1011 <input file icon="reload"></input>
jozee@462 1012 <action>cat \$IPTABLES_CONF | /sbin/iptables-restore</action>
jozee@462 1013 </button>
jozee@462 1014 <button>
jozee@462 1015 <label>Save</label>
jozee@462 1016 <input file icon="go-jump"></input>
jozee@462 1017 <action>/sbin/iptables-save > \$IPTABLES_CONF</action>
jozee@462 1018 </button>
jozee@462 1019 </hbox>
jozee@462 1020 </frame>
jozee@462 1021 EOT
jozee@462 1022 }
jozee@462 1023
jozee@462 1024 #
jozee@462 1025 # knock client
jozee@462 1026 #
jozee@462 1027 tab_knock()
jozee@462 1028 {
jozee@462 1029 cat <<EOT
jozee@462 1030 <frame Knock>
jozee@462 1031 <hbox>
jozee@462 1032 <text use-markup="true">
jozee@462 1033 <label>"<b>Options : </b>"</label>
jozee@462 1034 </text>
jozee@462 1035 <entry editable="true">
jozee@462 1036 <variable>KNOCK_OPTS</variable>
jozee@462 1037 <default>myserver.example.com 123:tcp 456:udp 789:tcp</default>
jozee@462 1038 </entry>
jozee@462 1039 </hbox>
jozee@462 1040 <hbox>
jozee@462 1041 $(helpbutton knock 80x12)
jozee@462 1042 <button>
jozee@462 1043 <label>Start</label>
jozee@462 1044 <input file icon="forward"></input>
jozee@462 1045 <action>knock \$KNOCK_OPTS</action>
jozee@462 1046 </button>
jozee@462 1047 </hbox>
jozee@462 1048 </frame>
jozee@462 1049 EOT
jozee@462 1050 }
jozee@462 1051
jozee@462 1052 data_main()
jozee@462 1053 {
jozee@462 1054 cat <<EOT
jozee@462 1055 #program tab name function
jozee@462 1056 true Servers tab_servers
jozee@462 1057 iptables Firewall tab_firewall
jozee@462 1058 knock Knock tab_knock
pascal@546 1059 true Status tab_status
jozee@462 1060 EOT
jozee@462 1061 }
jozee@462 1062
jozee@462 1063 tab_main()
jozee@462 1064 {
jozee@462 1065 use_tab data_main
jozee@462 1066 }
jozee@462 1067
jozee@462 1068 ######################################################
jozee@462 1069 #
jozee@462 1070 # Serverbox GUI
jozee@462 1071 #
jozee@462 1072 ######################################################
jozee@462 1073
jozee@462 1074 # Only root can configure server.
jozee@462 1075 check_root
jozee@462 1076
jozee@462 1077 # English/French help dialog.
jozee@462 1078 export HELP='
jozee@462 1079 <window title="Network status" icon-name="network-wire">
jozee@462 1080 <vbox>
jozee@462 1081 <text use-markup="true">
jozee@462 1082 <label>
jozee@462 1083 "
jozee@462 1084 <b>SliTaz - Serverbox</b>"
jozee@462 1085 </label>
jozee@462 1086 </text>
jozee@462 1087 <frame English>
jozee@462 1088 <text wrap="true" width-chars="58">
jozee@462 1089 <label>
jozee@462 1090 "Serverbox lets you manage and setup servers. First, install and
paul@500 1091 edit any configuration files. Then, start or stop the servers."
jozee@462 1092 </label>
jozee@462 1093 </text>
jozee@462 1094 </frame>
jozee@462 1095 <frame Francais>
jozee@462 1096 <text wrap="true" width-chars="58">
jozee@462 1097 <label>
jozee@462 1098 "Serverbox peut demarrer ou arreter le reseau, configurer
jozee@462 1099 les interfaces reseau ou editer directement les fichiers."
jozee@462 1100 </label>
jozee@462 1101 </text>
jozee@462 1102 </frame>
jozee@462 1103 </vbox>
jozee@462 1104 </window>
jozee@462 1105 '
jozee@462 1106
jozee@462 1107 # The main dialog with notebook, start/stop buttons and all options.
jozee@462 1108 # Note that /etc/network.conf is seded when an interface is activated.
jozee@462 1109 #
jozee@462 1110 head='
jozee@462 1111 <window title="SliTaz Server Manager" icon-name="network-wired">
jozee@462 1112 <vbox>
jozee@462 1113
jozee@462 1114 <hbox>
jozee@462 1115 <text use-markup="true">
jozee@462 1116 <label>"<b>Server Manager</b>"</label>
jozee@462 1117 </text>
jozee@462 1118 <pixmap>
jozee@462 1119 <input file>/usr/share/pixmaps/netbox.png</input>
jozee@462 1120 </pixmap>
jozee@462 1121 </hbox>
jozee@462 1122 '
jozee@462 1123 bottom='
jozee@462 1124 <hbox>
jozee@462 1125 <button help>
jozee@462 1126 <label>Help</label>
jozee@462 1127 <action type="launch">HELP</action>
jozee@462 1128 </button>
jozee@462 1129 <button>
jozee@462 1130 <label>Quit</label>
jozee@462 1131 <input file icon="exit"></input>
jozee@462 1132 <action type="exit">Exit</action>
jozee@462 1133 </button>
jozee@462 1134 </hbox>
jozee@462 1135
jozee@462 1136 </vbox>
jozee@462 1137 </window>
jozee@462 1138 '
jozee@462 1139
jozee@462 1140 SERVER_BOX="${head}$(tab_main)${bottom}"
jozee@462 1141
jozee@462 1142 export SERVER_BOX
jozee@462 1143
jozee@462 1144 gtkdialog --center --program=SERVER_BOX >/dev/null