Commit c667be90 authored by Diego Giovane Pasqualin's avatar Diego Giovane Pasqualin

Merge branch 'master' of git.c3sl.ufpr.br:./le5/unstable

parents dce980cb 17dccd6e
......@@ -35,7 +35,7 @@ REPOSITORIO=$1
shift 1
ARQUIVOS=$*
if ! egrep -q "(le5-unstable|le5-testing|le5-stable)" <<< $REPOSITORIO; then
if ! egrep -q "(le5-unstable|le5-testing|le5-stable|le5-rc)" <<< $REPOSITORIO; then
printf "\"$REPOSITORIO\": Nao conhecido"
printf ", rode $0 --help para saber mais\n"
exit 1
......
......@@ -17,23 +17,18 @@ Primeiramente precisa se executar o configurador na estação que será servidor
:
- Abrindo o programa de configuração do italc(le-italc-config) selecione o tipo "Monoterminal" e então função "Servidor".
- Confirme.
No fim da configuração, será aberto um arquivo com a chave gerada. Essa chave será utilizada para configurar os computadores clientes. Copie-a para a estação cliente.
- No fim da configuração, será aberto um arquivo com a chave gerada. Essa chave será utilizada para configurar os computadores clientes. Copie-a para as estações clientes.
==== Cliente ====
- Tendo a chave gerada na servidora, abra o configurador do italc na estção cliente.
- Selecione "Monoterminal" e função "Cliente".
- Confirme.
Será requisitada a chave. Selecione a chave no navegador de arquivo e o processo está completo.
- Será requisitada a chave. Selecione a chave na tela de seleção de arquivos e o processo está completo.
*Obs: A chave não deve ser renomeada no meio do processo, caso contrario levara a erro na configuração do cliente.
=== Adicionando as estações ao Italc ===
- Abra o italc
- Adicione os computadores no seguninte formato:
*Obs2: É preciso adicionar manualmente os computadores da rede.
== Multiterminais ==
......@@ -43,13 +38,19 @@ Será requisitada a chave. Selecione a chave no navegador de arquivo e o process
Em multiterminal não há necessidade de geração de chave. Apenas a um uso do programa é o suficiente.
- Abra o le-italc-config, selecione Multiterminal e o numero de terminais.
- Abra o le-italc-config, selecione Multiterminal
- Selecione o número de terminais.
- Está configurado. Só precisa relogar os usuários em todos os terminais, está feito.
Não é necessária a adição manual das estações no italc. Já estarão adicionados.(Inclusive o do professor)
*IMPORTANTE*: O italc não irá funcionar se o professor usar qualquer estação. É necessário que o professor use a estação conectada na placa onboad.
==== Adição manual: ====
Caso precise fazer a adição manual, realize os seguintes passos:
- Abra o italc
- Crie a classe
- Adicione os seguintes estações:
......@@ -69,6 +70,7 @@ Por exemplo, se meu multiterminal tem 4 terminais, vou adicionar:
localhost:11001
localhost:11002
localhost:11003
localhost:11004
:
Se os terminais estão logados como alunos, deve ser possível ver as telas dos alunos ao adicionar os terminais.
......
Package: le-italc-config
Version: 0.0.11
Version: 0.0.13
Description: Italc Auto Configuration Tool for Linux Educacional
Priority: optional
Section: misc
......
......@@ -36,7 +36,7 @@ Primeiramente precisa se executar o configurador na estação que será servidor
<UL>
<LI>Abrindo o programa de configuração do italc(le-italc-config) selecione o tipo "Monoterminal" e então função "Servidor".
<LI>Confirme.
No fim da configuração, será aberto um arquivo com a chave gerada. Essa chave será utilizada para configurar os computadores clientes. Copie-a para a estação cliente.
<LI>No fim da configuração, será aberto um arquivo com a chave gerada. Essa chave será utilizada para configurar os computadores clientes. Copie-a para as estações clientes.
</UL>
<H4>Cliente</H4>
......@@ -45,10 +45,11 @@ No fim da configuração, será aberto um arquivo com a chave gerada. Essa chave
<LI>Tendo a chave gerada na servidora, abra o configurador do italc na estção cliente.
<LI>Selecione "Monoterminal" e função "Cliente".
<LI>Confirme.
<P></P>
Será requisitada a chave. Selecione a chave no navegador de arquivo e o processo está completo.
<LI>Será requisitada a chave. Selecione a chave na tela de seleção de arquivos e o processo está completo.
<P></P>
*Obs: A chave não deve ser renomeada no meio do processo, caso contrario levara a erro na configuração do cliente.
<P></P>
*Obs2: É preciso adicionar manualmente os computadores da rede.
</UL>
<H2>Multiterminais</H2>
......@@ -60,13 +61,27 @@ Em multiterminal não há necessidade de geração de chave. Apenas a um uso do
</P>
<UL>
<LI>Abra o le-italc-config, selecione Multiterminal e confirme.
<LI>Está configurado. Após isso, será necessária a adição manual das maquinas no italc.
<LI>Abra o le-italc-config, selecione Multiterminal
<LI>Selecione o número de terminais.
<LI>Está configurado. Só precisa relogar os usuários em todos os terminais, está feito.
<P></P>
Não é necessária a adição manual das estações no italc. Já estarão adicionados.(Inclusive o do professor)
<P></P>
*IMPORTANTE*: O italc não irá funcionar se o professor usar qualquer estação. É necessário que o professor use a estação conectada na placa onboad.
</UL>
<H4>Adição manual:</H4>
<P>
Caso precise fazer a adição manual, realize os seguintes passos:
</P>
<UL>
<LI>Abra o italc
<LI>Crie a classe
<LI>Adicione os seguintes estações:
<P></P>
<br>localhost:11001 (para multiterminais com total de dois ou mais terminais)
<br> localhost:11001 (para multiterminais com total de dois ou mais terminais)
<br> localhost:11002 (para multiterminais com total de tres ou mais terminais)
<br> localhost:11003 (para multiterminais com total de quatro ou mais terminais)
<br> localhost:11004 (para multiterminais com total de cinco ou mais terminais)
......@@ -88,6 +103,7 @@ Por exemplo, se meu multiterminal tem 4 terminais, vou adicionar:
localhost:11001
localhost:11002
localhost:11003
localhost:11004
<P></P>
</DL>
......@@ -96,5 +112,5 @@ Se os terminais estão logados como alunos, deve ser possível ver as telas dos
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -\-target html ./help.t2t -->
<!-- cmdline: txt2tags -\-target html ./doc/help.t2t -->
</BODY></HTML>
......@@ -46,16 +46,22 @@ zenity --question --title="Configurador do Italc" \
#Configuration Variables Names:
#Values: 1-True 0-False
##isConfig = Config or Unconfig
##isMult = multiterminal or 'monoterminal'?
##isClient = Client or Server?
#QUESTIONS
#Ask: Is it configuration?
zenity --question --title="Configurador do Italc" --text="Deseja realizar uma configuração, ou desfazer?" \
--ok-label="Configurar" --cancel-label="Desfazer configuração"
[ $? -eq 0 ] && isConfig=1 || isConfig=0
#Ask: Is it multiterminal?
zenity --question --title="Configurador do Italc" \
--height=100 --width=450 \
--text="Você está em qual tipo de estação?" \
--ok-label="Multiterminal" --cancel-label="Monoterminal"
if [ $? -eq 0 ]; then #yes
if [ $? -eq 0 ]; then #MULTITERMINAL
isMult=1
#If it is Multiterminal then ask how much terminals there is(for italc auto add)
numTerm=$(
......@@ -70,7 +76,7 @@ if [ $? -eq 0 ]; then #yes
echo "Operação Cancelada"
exit 4
fi
else
else #MONOTERMINAL
isMult=0
#If it is MONOterminal it can be Client or Master configuration
#Ask: Master or Client machine/terminal?
......@@ -97,10 +103,18 @@ zenity --question --title="Configurador do Italc" \
--ok-label="Confirma" --cancel-label="Cancelar" ##--cancel-label="Voltar"
[ "$?" = "1" ] && exit 0 #TODO: execute this script again
##---PROCESS RESULTS---------------------------------------------
##===================================================================================================================##
##---START_FUNCTIONS-------------------------------------------------------------------------------------------------##
##===================================================================================================================##
#GENERAL CONFIGURATIONS
#Script path to be created for monoterminal:
SCRIPT_MONO_PATH="/etc/lightdm/greeter-exec-scripts/ica-auto-starter.sh"
#Script path to be created for multiterminal:
SCRIPT_MULT_PATH="/etc/profile.d/ica-start-multiterminal.sh"
generate_script_monoterminal_client () {
local g_file="/etc/lightdm/greeter-exec-scripts/ica-auto-starter.sh"
local g_file="$SCRIPT_MONO_PATH"
echo "#!/bin/sh" > $g_file
echo "ica &" >> $g_file
......@@ -110,7 +124,7 @@ generate_script_monoterminal_client () {
generate_script_multiterminal () {
#Create a script in profile.d
local g_file="/etc/profile.d/ica-start-multiterminal.sh"
local g_file="$SCRIPT_MULT_PATH"
echo "#!/bin/sh" > $g_file
echo "#Privileged Users don't run ica" >> $g_file
......@@ -144,12 +158,47 @@ generate_script_multiterminal () {
chmod +x $g_file
}
unconfig_monoterminal () {
zenity --question --title="Desfazer Configurações" \
--text="Você tem certeza que deseja remover configurações\nda estação MONOTERMINAL?" \
--ok-label="Sim" --cancel-label="Não"
[ "$?" = "1" ] && exit 0
if [ ! -f "$SCRIPT_MONO_PATH" ]; then
zenity --warning --title="Aviso" --text="Não foi identificada nenhuma configuração monoterminal"
return 1
else
#Remove key and generated script
rm -f /etc/italc/public/teacher/key
rm -f "$SCRIPT_MONO_PATH"
return 0
fi
}
unconfig_multiterminal () {
zenity --question --title="Desfazer Configurações" \
--text="Você tem certeza que deseja remover configurações\nda estação MULTITERMINAL?" \
--ok-label="Sim" --cancel-label="Não"
[ "$?" = "1" ] && exit 0
if [ ! -f "$SCRIPT_MULT_PATH" ]; then
zenity --warning --title="Aviso" --text="Não foi identificada nenhuma configuração multiterminal"
return 1
else
#Remove key and generated script
rm -f "/etc/italc/public/teacher/key"
rm -f "$SCRIPT_MULT_PATH"
return 0
fi
#This function does not remove computers entries from italc.
}
config_client_monoterminal () {
#Steps:
## 1. Ask for keys
## 2. Import keys
zenity --question --title="Configurador do Italc" \
--text="Para configurar o cliente é necessário ter sido configurada a estação e adquirido o arquivo Chave-Italc.\n\nClique em Selecionar arquivo e selecione Chave-Italc." \
--text="Para configurar o cliente é necessário ter sido configurada a estação servidora e adquirido o arquivo Chave-Italc.\n\nClique em Selecionar arquivo e selecione Chave-Italc." \
--ok-label="Selecionar Arquivo" --cancel-label="Sair"
[ "$?" = "1" ] && exit 0
......@@ -157,16 +206,18 @@ config_client_monoterminal () {
local key_file="$(zenity --file-selection)"
local key_filename="$( echo "$key_file" | awk -F "/" '{print $NF}')"
if [ "$key_filename" != "Chave-Italc" ]; then
zenity --question --title="Configurador do Italc" --text="Arquivo inválido." --height=150 --width=250 --ok-label="Selecionar outro arquivo" --cancel-label="Sair"
zenity --question --title="Configurador do Italc" --text="Arquivo inválido." \
--height=150 --width=250 \
--ok-label="Selecionar outro arquivo" --cancel-label="Sair"
[ "$?" = "1" ] && exit 0
else
break;
continue
fi
break
done
imc -importpublickey "$key_file"
chmod 755 /etc/italc/public -R
generate_script_monoterminal_client #generate script to autorun ica
generate_script_monoterminal_client #generate ica autorun script
}
config_master_monoterminal () {
......@@ -258,7 +309,22 @@ showHelp () {
return 0
}
##===================================================================================================================##
##---END_FUNCTIONS---------------------------------------------------------------------------------------------------##
##===================================================================================================================##
#Call right configuration function
if [ $isConfig -eq 0 ]; then
if [ $isMult -eq 0 ]; then
#monoterminal
unconfig_monoterminal
else
#multiterminal
unconfig_multiterminal
fi
exit 0
fi
if [ "$isMult" = "0" ]; then
if [ "$isClient" = "1" ]; then
config_client_monoterminal
......@@ -266,12 +332,12 @@ if [ "$isMult" = "0" ]; then
config_master_monoterminal
fi
elif [ "$isMult" = "1" ]; then
config_multiterminal
add_computers_multiterminal "$numTerm"
zenity --question --height=150 --width=350 \
--title="Configurador do Italc" --text="Multiterminal configurado! Para que todas as configurações tomem efeito é necessário relogar todos os usuários alunos." \
--title="Multiterminal configurado!" --text="AVISO: O usuário professor deve usar a estação conectada na placa onboard. \
\n\nAlém disso, para que todas as configurações tomem efeito é necessário relogar todos os usuários alunos." \
--ok-label="Ajuda" --cancel-label="Concluir"
[ "$?" = "0" ] && showHelp || exit 0
fi
......
Package: le-multiterminal
Priority: important
Section: main
Version: 0.0.21
Version: 0.0.22
Maintainer: LE Maintainer <le-maintainer@c3sl.ufpr.br>
Description: Userful multiplier for Linux Educacional 5
Architecture: all
......
#!/bin/bash
# Copyright (C) 2004-2012 Centro de Computacao Cientifica e Software Livre
# Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
# This file is part of le-proinfodata
#
# exec_dialog.sh is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
F_MULT="/tmp/.mult.lock"
F_LOCK="/tmp/.dialog.lock"
F_INEP="/opt/seed_mec/SEED2/client/conf/inep"
BACKGROUND="/usr/share/backgrounds/le5-wallpaper1600X1200.png"
function call_dialog_inep_mult_off () {
#Disable mouse right-click
xmodmap -e "pointer = 1 2 11 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = " &
#Set background
xli -onroot -fillscreen $BACKGROUND
dialog_inep.sh
#Reset background to default
xli -onroot -background black
#Enable mouse right-click
xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L"
}
function call_dialog_inep_mult_on () {
#Disable mouse right-click
xmodmap -e "pointer = 1 2 11 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = " &
dialog_inep.sh
#Get PID
P_EDUBAR=$(ps aux | grep "/usr/share/gnome/autostart/le-edubar_position.sh" | tr -s -t " " "|" | cut -d"|" -f2)
P_GPANEL=$(pgrep gnome-panel)
#Enable Edubar and Panel
kill -cont $P_GPANEL
kill -cont $P_EDUBAR
#Enable mouse right-click
xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L"
}
export LANG="pt_BR.UTF-8"
# SANITY CHECK -------------------------------------------------------
# Do not run script if we are on live-cd
# or the INEP code is already set
# or we are logging out
if dpkg --get-selections "ubiquity-le" | grep -q 'install$' ||
[ -f $F_INEP ] ||
[ -f $F_LOCK ]; then
exit 0
fi
# --------------------------------------------------------------------
sleep 3
# Check whether the computer is running on a the multiterminal
if dpkg --get-selections "le-multiterminal" | grep -q 'install$'; then
# In the first call (lightdm) in multiterminal this is script must leave, to be called again after.
if [ -f $F_MULT ];then
touch $F_LOCK
echo "0" > $F_LOCK
call_dialog_inep_mult_on
else
touch $F_MULT
exit 0
fi
else
touch $F_LOCK
echo "1" > $F_LOCK
call_dialog_inep_mult_off
fi
exit 0
Package: le-proinfodata
Version: 1.2.28
Version: 1.2.29
Maintainer: <proinfodata@c3sl.ufpr.br>
Architecture: i386
Section: main
......
......@@ -58,7 +58,7 @@ function verifica_inep() {
frase="\"quero digitar o inep da minha escola depois\""
valido=0
# INEP file
seed_home=/opt/seed_mec
SEED_HOME=/opt/seed_mec
F_INEP="${SEED_HOME}/SEED2/client/conf/inep"
MD5F_INEP="${SEED_HOME}/SEED2/.md5sum/client/conf/inep"
BACKUPF_INEP="${SEED_HOME}/SEED2/.backup/client/conf/inep"
......
#!/bin/bash
# Copyright (C) 2004-2012 Centro de Computacao Cientifica e Software Livre
# Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
#session-setup-script = exec_dialog.sh
# This file is part of le-proinfodata
#
# exec_dialog.sh is free software; you can redistribute it and/or
......@@ -22,10 +21,6 @@ F_MULT="/tmp/.mult.lock"
F_LOCK="/tmp/.dialog.lock"
F_INEP="/opt/seed_mec/SEED2/client/conf/inep"
BACKGROUND="/usr/share/backgrounds/le5-wallpaper1600X1200.png"
#Get PID
P_EDUBAR=$(ps aux | grep "/usr/share/gnome/autostart/le-edubar_position.sh" | tr -s -t " " "|" | cut -d"|" -f2)
P_GPANEL=$(pgrep -u $USER gnome-panel)
function call_dialog_inep_mult_off () {
#Disable mouse right-click
xmodmap -e "pointer = 1 2 11 4 5 6 7 8 9" &
......@@ -44,14 +39,13 @@ function call_dialog_inep_mult_on () {
#Disable mouse right-click
xmodmap -e "pointer = 1 2 11 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = " &
#Disable Edubar and Panel
kill -stop $P_EDUBAR
pkill le-edubar
kill -stop $P_GPANEL
dialog_inep.sh
#Get PID
P_EDUBAR=$(ps aux | grep "/usr/share/gnome/autostart/le-edubar_position.sh" | tr -s -t " " "|" | cut -d"|" -f2)
P_GPANEL=$(pgrep gnome-panel)
#Enable Edubar and Panel
kill -cont $P_EDUBAR
kill -cont $P_GPANEL
kill -cont $P_EDUBAR
#Enable mouse right-click
xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9" &
xmodmap -e "keycode 64 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L"
......@@ -68,12 +62,13 @@ if dpkg --get-selections "ubiquity-le" | grep -q 'install$' ||
exit 0
fi
# --------------------------------------------------------------------
sleep 3
# Check whether the computer is running on a the multiterminal
if dpkg --get-selections "le-multiterminal" | grep -q 'install$'; then
# In the first call (lightdm) in multiterminal this is script must leave, to be called again after.
if [ -f $F_MULT ];then
touch $F_LOCK
echo "0" > $F_LOCK
call_dialog_inep_mult_on
else
touch $F_MULT
......@@ -81,6 +76,7 @@ if dpkg --get-selections "le-multiterminal" | grep -q 'install$'; then
fi
else
touch $F_LOCK
echo "1" > $F_LOCK
call_dialog_inep_mult_off
fi
......
[Desktop Entry]
Type=Application
Exec=exec_dialog.sh
Exec=/usr/share/gnome/autostart/stop_screen.sh
Hidden=false
NoDisplay=true
X-GNOME-Autostart-enabled=true
Name[pt_BR]=INEP
Name=INEP
Comment[pt_BR]= Chama o exec_dialog.sh
Comment= Call exec_dialog.sh
Comment[pt_BR]= Para Le-edubar e Gnome-panel
Comment= Stop Le-edubar and Gnome-panel
#!/bin/bash
# Copyright (C) 2004-2012 Centro de Computacao Cientifica e Software Livre
# Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
#session-setup-script = exec_dialog.sh
# This file is part of le-proinfodata
#
# exec_dialog.sh is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
F_LOCK="/tmp/.dialog.lock"
P_EDUBAR=$(ps aux | grep "/usr/share/gnome/autostart/le-edubar_position.sh" | tr -s -t " " "|" | cut -d"|" -f2)
P_GPANEL=$(pgrep -u $USER gnome-panel)
NUM=$(cat $F_LOCK)
#Disable Edubar and Panel in Multiterminal
if [ $NUM -eq 0 ]; then
kill -stop $P_EDUBAR
pkill le-edubar
kill -stop $P_GPANEL
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment