AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 676087
Accepted
user2153235
user2153235
Asked: 2021-11-04 17:12:19 +0800 CST2021-11-04 17:12:19 +0800 CST 2021-11-04 17:12:19 +0800 CST

xsel não reconhecido após "su - outra conta" [duplicado]

  • 772
Essa pergunta já tem respostas aqui :
Não é possível conectar ao servidor X :0.0 como superusuário (5 respostas)
Fechado há 11 meses .

Esta postagem foi editada e enviada para revisão há 11 meses e não reabriu a postagem:

Os motivos de fechamento originais não foram resolvidos

Sou novo no Linux e configurei a seguinte versão do Ubuntu como uma VM do VirtualBox usando este processo :

ubuntu-20.04.3-desktop-amd64.iso

A primeira conta criada foi uma conta de administrador. Instalei xsele verifiquei se funcionou. Em seguida, criei uma conta de não administrador e entrei sunela com o su - non-admin-account. Nesse momento, xselreclama:

xsel: Can't open display: (null)
: Inappropriate ioctl for device

O que tenho que fazer para tornar xselacessível depois de suentrar em outra conta?

Atualmente, não estou interessado em iniciar aplicativos que iniciam suas próprias janelas sude cliente quando entram na conta de não administrador. Eu só quero uma tubulação simples do padrão para a área de transferência para que eu possa recuperá-lo no Vim ou na linha de comando do Bash usando Shift+Ins, por exemplo, echo dog | xsel -ibou echo dog | xsel -ip.

Meu plano atual é escrever ou redirecionar para (digamos) /tmp/tmp.txtpara passar texto entre um usuário que fez login de uma tela de login versus um que foi sud. Estou acostumado com o comportamento do Cygwin, onde a área de transferência é compartilhada independentemente de qual conta um terminal é iniciado.


Solução de problemas

Eu recebo o mesmo comportamento se eu entrar na conta de não administrador e suna conta de administrador. xselfunciona no não administrador em que eu faço login, mas não na conta de administrador que eu faço su.

Essencialmente, xselnão funciona após um arquivo su.

De acordo com os comentários, olhei para as respostas deste problema . Não reconheço a descrição do problema, pois as mensagens de erro são bem diferentes, portanto, alguém que procure com base nas mensagens de erro não reconhecerá essa pergunta. Além disso, não entendo as respostas. A parte que parecia se aplicar à minha solução era xhost +localhost, mas não funcionou porque a sintaxe está errada, pelo menos para a versão do Ubuntu que estou usando. Eu posto a sintaxe que funciona na minha resposta abaixo.

Acho que antes que a página citada acima possa até mesmo informar remotamente alguém, é preciso saber que o problema é a falta de permissão para uma conta acessar o servidor X. Por exemplo, se você vem de um histórico de uso do X-windows do Cygwin, provavelmente não adivinharia isso porque o problema não se manifesta lá.

x11 su
  • 2 2 respostas
  • 123 Views

2 respostas

  • Voted
  1. Best Answer
    user2153235
    2021-11-05T14:54:16+08:002021-11-05T14:54:16+08:00

    Com base no comentário de waltinator , encontrei esta página sobre o uso do xhost. A partir dessas informações, encontrei o seguinte para funcionar:

    # Log into admin-username from the login screen,
    # then issue:
    $ xhost +SI:localuser:nonadmin-username
    
       localuser:nonadmin-username being added to access control
       list.
    
    $ xhost
    
       SI:localuser:nonadmin-username
       SI:localuser:admin-username
    
    $ su - nonadmin-username
    # Enter password when prompted
    
    # Match DISPLAY to its value in the admin account
    $ export DISPLAY=:0
    
    $ ls | xsel -ip # Use PRIMARY selection e.g. X-windows mouse highlighting
    $ ls | xsel -ib # Use CLIPBOARD buffer e.g. Windows's Ctrl+C/X/V
    $ exit # Exit the "su" session
    
    # Paste then works in admin account as expected.
    # To test the PRIMARY selection:
    $ cat # In admin account
    # Paste using middle mouse button or Shift+Ins
    Ctrl+D to end input into "cat"
    

    Uma alternativa útil para adicionar usuários um de cada vez é xhost +local:, que permite que qualquer usuário local abra janelas de clientes. Isso implica que você confia em todos os usuários conectados à máquina. Portanto, isso deve ser feito apenas em ambientes controlados, como máquinas de usuário único.

    Em muitos ambientes, a seleção PRIMARY também pode ser colada em [G]Vim do registro *.

    Da mesma forma, o buffer CLIPBOARD geralmente pode ser colado em [G]Vim de register +, ou de qualquer outro aplicativo que use Ctrl+V.

    • 1
  2. Toby Speight
    2021-11-13T00:10:40+08:002021-11-13T00:10:40+08:00

    Você pode usar o pam_xauthmódulo de autenticação para encaminhar cookies de sessão X11 entre suinvocações, sem abrir seu servidor X para esses usuários em geral.

    Isso também permite um controle refinado sobre quais usuários podem encaminhar credenciais para quais outros usuários, por meio de arquivos de configuração em seus $HOME/.xauth/diretórios.

    • 1

relate perguntas

  • Arch Linux: executando o VirtualBox (VM) sem um gerenciador de janelas

  • erro de falta de dois pontos xrdb

  • Tornar as coisas maiores sem alterar a resolução? [AMIGO]

  • O encaminhamento SSH X11 funciona apenas ao usar

  • Execute um único comando como outro usuário; restrições ao sudo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve