gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
Switch user em Linux
Contribuído por npf em 06-03-02 18:15
do departamento re-invenções-do-Win
perguntas humpback escreve "O Windows XP vem com uma funcionalidade bastante interessante, que é permitir que um utilizador mantenha os seus programas a correr e lock a workstation e outro utilizador possa de seguida entrar.

Em Unix seria possivel fazer o mesmo, eu faria um lock ao X e o utilizador seguinte iria para a consola, e arrancaria um novo X ( X.0.1 ), voltava a consola, exportava o DISPLAY e arrancava o window manager.

Agora o meu problema é que alguns dos utilizadores deste computador onde eu estou ja acham complicado introduzir uma pass/login, quanto mais estas voltas e baldrocas todas. Alguem conhece algo mais simples? Seria possivelconvencer a malta do gnome/kde para implementar qq coisa deste tipo? "

certipor.pt um certificado so para quem usa m$ win | ClosedBSD  >

 

gildot Login
Login:

Password:

Referências
  • Linux
  • Mais acerca perguntas
  • Também por npf
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    VNC? (Pontos:2, Interessante)
    por joaobranco em 06-03-02 18:39 GMT (#3)
    (Utilizador Info)
    Uma soluçao simples seria criar uma sessao VNC por utilizador, e ligar-se a ela automaticamente apos login grafico (o window manager ser um VNCviewer com os parametros adequados?).

    Assim, o utilizador ligar-se-ia a um estado (persistente) e nao haveria problemas de se desligar e perder os programas X a correr.

    Problemas que vejo:

    • cada sessao VNC implica um Xserver a correr (a somar aos clientes),. pode ser impraticavel para uma maquina com mais do que 2 ou 3 utilizadores a menos que haja mesmo muita RAM.

    • A autenticacao da ligacao ao VNC normal nao chegaria (poderia ser melhorada, o codigo e' open source).


    JB

    Unix RULA! (Pontos:4, Informativo)
    por TarHai em 06-03-02 19:21 GMT (#4)
    (Utilizador Info) http://www.dilbert.com
    Nao sei como o windows funciona, mas em unixes tens pelo menos 3 hipoteses:

    1. Arrancas uma nova sessao de X com

    $ startx -- :1
    (o comando deve estar incompleto, a minha memoria falha :P)

    Abre um novo X da consola de texto. Suponho que como admin possas meter N sessoes X a correr usando o xdm e alguma destreza nos configs. Nunca tentei isto, mas especulo que necessites de memoria e CPU suficientes para aguentar a cacetada de ter varios desktops carregados.

    2. Podes lancar processos e fazer logout, deixando os processos a correr. P. ex. para lancar um programa fazes (em bash)

    $ encode in-file out-file &
    [1] 14825
    $ disown %1

    e pronto. Quando fizeres logout o teu programa continua a correr.

    3. Podes fazer um servidor de X da tua maquina e deixar que os clientes em PCs a correr servidores de X se liguem a ela. Os pcs podem ate ser jurassicos e correr o windows 3, mas deverao estar numa rede com baixa latencia e com largura de banda adequada.

    no servidor remoto:
    $ export DISPLAY=my-ip:0
    $ mozilla &

    ou $ xterm --display my-ip:0 &

    Uso isto frequentemente para distribuir aplicacoes pesadas pelo parque de maquinas unix do campus. Para que gastar o meu CPU e memoria quando posso gastar dos outros, deixando a minha maquina leve como uma pena ;D


    ---
    outro display... (Pontos:3, Interessante)
    por jmce em 06-03-02 19:23 GMT (#5)
    (Utilizador Info) http://jmce.artenumerica.org/

    Bom, logo no arranque pode iniciar-se um novo display que fica associado a outra "consola". Ou com um X :1.0 -query localhost num scr1pt corrido no arranque ou, se bem me lembro, acrescentando uma linha ao ficheiro Xservers (onde este está pode depender do login manager em uso... /etc/X11/wdm/, /etc/kde2/kdm/, ...). E pode ser necessário ajustar alguns parâmetros de outros ficheiros no mesmo directório (sorry, estou sem tempo para relembrar os detalhes) que especificam o que se passa com cada display.

    A partir daí, ficam dois displays disponíveis, e os utilizadores apenas têm de usar Ctrl-Alt-F7 e Ctrl-Alt-F8 para saltar entre um e outro (assumindo o típico default de 6 getty)... e lembrarem-se de fazer um lock se saírem temporariamente para prevenirem brincadeiras do outro utilizador. Premir Ctrl-Alt-F7 não é muito mais complicado do que o Ctrl-Alt-Del do Windows 2000...

    Discla1mer (Pontos:1)
    por jmce em 06-03-02 23:49 GMT (#9)
    (Utilizador Info) http://jmce.artenumerica.org/
    Ter escrito "scr1pt" acima não foi 313371$m0, really. No máximo um deslize Freudiano. E tentei corrigir, sério que tentei, mas, no mozzila onde estava, ao fazer "Antever" voltava sempre a aparecer o "1", e acabei por des1st1r. :)
    Re:Discla1mer (Pontos:2)
    por jig em 07-03-02 1:24 GMT (#13)
    (Utilizador Info)
    Curioso...Já me aconteceu o mesmo ao tentar inserir um link num artigo...
    Acho que o nosso amigo gil anda a ficar muito l33t
    Re:Discla1mer (Pontos:2)
    por Strange em 07-03-02 1:49 GMT (#14)
    (Utilizador Info) http://strange.nsk.yi.org/
    O proximo passo e' mudar automaticamente os "e"s em palavras com mais que um desses para "3" :)

    hugs
    Strange

    Re:Discla1mer (Pontos:2)
    por raxx7 em 07-03-02 3:03 GMT (#16)
    (Utilizador Info) http://raxx7.no.sapo.pt/
    Creio que é p evitar problemas...

    Remember to be the Killer, not the Victim! (Nuklear Girl)
    Re:Discla1mer (Pontos:2)
    por Strange em 07-03-02 3:50 GMT (#17)
    (Utilizador Info) http://strange.nsk.yi.org/
    Sim, ataques de XSS com javascr1pt e semelhantes.

    Foi uma ideia genial: simples, funcional, engraçada, e que causa mais alguns posts dos mais desatentos... :)

    hugs
    Strange

    Re:Discla1mer (Pontos:1)
    por spyder em 07-03-02 17:22 GMT (#24)
    (Utilizador Info)
    E, aparentemente, mal implementada. Olha aqui um js quentinho...
    Re:Discla1mer (Pontos:2)
    por Strange em 07-03-02 18:32 GMT (#25)
    (Utilizador Info) http://strange.nsk.yi.org/
    Pois... E já te ofereci o meu cookie... Darn!

    hugs
    Strange

    Re:Discla1mer (Pontos:2)
    por ajc em 07-03-02 20:21 GMT (#27)
    (Utilizador Info)
    eheh, touchê...,
    Mas já está...
    Re:Discla1mer (Pontos:2)
    por MacLeod em 09-03-02 12:28 GMT (#30)
    (Utilizador Info)
    Mas dá para escrever mesmo script, embora dê mais trabalho ;-)
    My 2 cents (Pontos:3, Esclarecedor)
    por mvalente em 06-03-02 19:59 GMT (#6)
    (Utilizador Info) http://www.ruido-visual.pt/
    Tirando a alternativa de correr multiplos X servers, cada um na sua consola virtual e fazendo Ctrl+Alt+Fx para alternar entre eles, tens o Xnest para correr multiplos X sobre um mesmo X server. O XRay tambem pode dar jeito.

    Cumprimentos

    Mario Valente

    Use the Shell, Luke! (Pontos:3, Informativo)
    por lbruno em 06-03-02 20:52 GMT (#7)
    (Utilizador Info)

    Quando o X arranca, e' criado um lock file na /tmp; p. ex:

    Para o primeiro server: /tmp/.X0-lock
    Para o segundo server: /tmp/.X1-lock
    ... (ad nauseam)

    Podemos assim saber qual e' o parametro a passar ao startx

    Da' uma vista de olhos ao link em anexo; e' um scr1pt em bash que chama o startx com os parametros correctos (estiveste bem, TarHai!)

    link
    Já existe (Pontos:4, Informativo)
    por Lamego em 06-03-02 21:58 GMT (#8)
    (Utilizador Info) http://www.ptlink.net
    No gnome que tenho instalado com o Mandrake8.1 já existe essa opção : "New Login with GDM", tens é que utilizar o GDM.
    Re:Já existe (Pontos:2)
    por jmce em 06-03-02 23:55 GMT (#10)
    (Utilizador Info) http://jmce.artenumerica.org/
    E se não existir (e com outro display manager), pode sempre criar-se um ícone a apontar para um programazito que faz o X -query, criando dinamicamente a nova sessão num novo display. Pode-se sempre usar os Ctrl-Alt-Fn para passear pelas sessões.
    nao, nao, nao (Pontos:2, Interessante)
    por RaTao em 07-03-02 1:08 GMT (#12)
    (Utilizador Info)
    podem-se dar as voltas que se quiserem, mas esta funcionalidade não existe, pelo menos para lusers, em unix com X.

    os exemplos anteriores são todos muito bonitos mas para um luser nao servem.

    Penso que nem sequer a arquitectura do core do X foi pensada para permitir uma obscenidade destas sem abrir uma quantidade (again) obscena de X's :> senao vejamos:

    seria necessario o programa que estah a fazer lock da consola (grahfica) ter várias opções, para desbloquear ou para abrir um novo X e mostrar outro login. Já estou a ver um DoS fixe.. Carregar repetidamente no botao "open new X server" :)

    anyway... outra hipotese era o tal xlock-enhanced-next-generation-v0.0.1 (eheheh) mandar as aplicações todas do X activo correrem sem ter um DISPLAY associado e passar a usar aquele X server. Esta é a tal hipotese que o próprio core do X não permite.

    outra hipotese seria criar um sistema de X servers a correr sobre um X server (man Xnest)... mas esta opção, além de comer muita RAM faz com que a desktop fique muito lenta. Provavelmente também é um DoS e deve causar falhas de segurança (no X server "principal" --> o que está a controlar o hardware).

    Claro que o X, da maneira que está feito, tem as suas vantagens... Já existem terminais X à mais de uma decada, por exemplo. Para este caso especifico em que o objectivo seria plagiar o comportamento do windows XP AFAIK não há hipotese.. :|


    Regards,
    Nuno Silva aka RaTao
    Re:nao, nao, nao (Pontos:2)
    por Strange em 07-03-02 1:54 GMT (#15)
    (Utilizador Info) http://strange.nsk.yi.org/

    Bem, uma maneira de resolver esses problemas seria configurar o pam pro xdm para apenas permitir logins de utilizadores que nao estejam ja' logged in, e de apenas se permitir criar X em numero igual ou inferior ao numero de users (uid >= 100) do sistema.

    E fazer switch para outro user: bloquear este, procurar X a correr com esse user (se especificado) e activa-lo, ou verificar os limites e arrancar um novo servidor X.

    Para isto seria necessario um novo utilitario muito simples com permissoes root apenas para a criacao de novos X+GDM.

    Alguem quer fazer isto? :)

    hugs
    Strange

    Re:nao, nao, nao (Pontos:1)
    por RaTao em 07-03-02 6:37 GMT (#18)
    (Utilizador Info)
    isto era o que eu estava a pensar logo na primeira hipotese:

    ---quote------
    seria necessario o programa que estah a fazer lock da consola (grahfica) ter várias opções, para desbloquear ou para abrir um novo X e mostrar outro login. Já estou a ver um DoS fixe.. Carregar repetidamente no botao "open new X server" :)
    ----end-quote------

    as modificações não seriam apenas no *DM mas também no xlock (o objectivo é imitar o winXP).

    com um truque destes ias conseguir que o linux passa-se a ser um "comedor de recursos"... daqui a pouco comecava-se a dizer:
    "o linux, em modo multiutilizadorXP precisa de pelo menos 1GB RAM... e é o recomendado. o melhor é comprar logo 4GB! ...e ter uma boa SWAP, mais um disco de 60GB"

    que, por acaso, é o que se diz para aí do windowsXP :) ...para já! :>

    Neste caso continuo sem achar uma solução tão *boa* como a do winXP (claro que aqui é uma limitação da arquitectura do X, simplesmente não foi feito a pensar nisso. Foi feito a pensar noutras coisas!)


    Regards,
    Nuno Silva aka RaTao
    Re:nao, nao, nao (Pontos:1)
    por Czar em 07-03-02 12:50 GMT (#23)
    (Utilizador Info)

    Acho que me lembro disto de algum lado ;-))

    Czar.

    nohup - "No hangups" (Pontos:1, Informativo)
    por Anonimo Cobarde em 07-03-02 11:16 GMT (#19)
    É possível fazer logout e deixar um programa a correr usando o comando "nohup". Costumo fazer isto quando tenho que utilizar o wget para fazer um download de grandes dimensões. Ex: nohup wget "ftp://...." Se seguida posso sair da conta que o programa continua a correr até que o download esteja terminado.
    Re:nohup - "No hangups" (Pontos:1)
    por humpback em 07-03-02 11:30 GMT (#21)
    (Utilizador Info)
    O problema e conseguir convencer o mozilla a fazer isso :) .
    Para consola tens inclusivamente o screen que te permite deixar qq programa de consola a correr e poderes retomar interactividade com ele mais tarde.

    Gustavo Felisberto
    72ef1d7183eb2ea89420b94c0cf3e1f1
    Re:nohup - "No hangups" (Pontos:2)
    por daniel em 07-03-02 20:39 GMT (#28)
    (Utilizador Info)
    Melhor que isso é fazer wget -b URL (repara na ausência do "&").

    "forka" logo para background e ainda por cima cria o output num wget-log* e não chateia (-q para "no output" e tail -f ao dito para "imitar" o comportamento antigo).

    wget -c para dloads (grandes ou não) que foram interrompidos - funciona em HTTP também, não vão na conversa da man page (não dá em todos os httpd's, mas foi o que me safou o meu wget -c -b http://www.silverfox8.brturbo.com/lord_of_the_rings_dvd_rip_cd2.avi :-)

    Just my .2c de wget e nao digam que não vão daqui, que ainda me fugiu o link por censurar (mod_throttled or something - beware).

    Abraços,
    Daniel Fonseca
    Obrigado pessoal (Pontos:1)
    por humpback em 07-03-02 11:27 GMT (#20)
    (Utilizador Info)
    Pois, la consegui por algumas das tecnicas a funcionar no portatil, mas na minha maquina de casa acho que tenho de agradecer a Nvidia pelos seus excelentes drivers, pois aquilo da uns excelentes black screens e la tenho de ir por ssh rebotar a maquina.
    Penso que o que vou acabar por fazer e usar o vnc para correr algumas aplicacoes que quero manter e simplesmente fazer logout quando e para dar a vez ao proximo.
    Mais uma vez obrigado a todos.

    Gustavo Felisberto
    72ef1d7183eb2ea89420b94c0cf3e1f1
    Off-Topic (Pontos:3, Informativo)
    por TarHai em 07-03-02 11:51 GMT (#22)
    (Utilizador Info) http://www.dilbert.com
    Se tiveres um AMD tenta meter um

    append="mem=nopentium"

    nas seccoes relevantes do lilo.conf. Nao sei se melhora tambem sistemas intel.

    Nao resolve os "excelentes black screens" mas reduz drasticamente a sua frequencia. Ajuda tambem teres um kernel mais recente (por causa do agp).

    ---
    Same &#$%.. Mas usando o twinview da nvidia... (Pontos:0)
    por Anonimo Cobarde em 07-03-02 19:21 GMT (#26)
    Queria fazer a mesma cena, mas para bootar o tv-output quando quisesse (porcausa da resolução do monitor ser mais alta que a da TV)... Usando o suporte twinview para XFree... Em relação aos settings não é dificil, mas será que alguem me pode dar umas luzes?
    Re:Same &#$%.. Mas usando o twinview da nvidia... (Pontos:1)
    por humpback em 07-03-02 23:32 GMT (#29)
    (Utilizador Info)
    Nos drivers da nvidia vem um XF86Config de exemplo que tem lá isso.
    Podes tambem ir aqui que tem boas ajudas.

    Gustavo Felisberto
    72ef1d7183eb2ea89420b94c0cf3e1f1
    Re:que giro! (Pontos:1, Despropositado)
    por NokiaMan em 06-03-02 18:38 GMT (#2)
    (Utilizador Info)
    enfim...
    ------------------------------ - BigBrother is Watching You - ------------------------------

     

     

    [ Topo | FAQ | Editores | Contacto ]