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 / ubuntu / Perguntas / 953100
Accepted
Hans
Hans
Asked: 2017-09-06 10:54:53 +0800 CST2017-09-06 10:54:53 +0800 CST 2017-09-06 10:54:53 +0800 CST

Exibições gráficas em arquivos .cshrc ou .login

  • 772

Resolvi seguir um tutorial UNIX só para entender um pouco mais meu Kubuntu, no oitavo capítulo do tutorial , me aconselham

AVISO: NUNCA coloque comandos que executem exibições gráficas (por exemplo, um navegador da Web) em seu arquivo .cshrc ou .login.

Procurei imediatamente informações sobre por que nunca deveria fazer isso, no entanto, não encontrei nada sobre isso.

Alguém pode me dizer qual é o problema com a execução de exibições gráficas em meus arquivos .cshrcou ?.login

scripts
  • 1 1 respostas
  • 396 Views

1 respostas

  • Voted
  1. Best Answer
    Eliah Kagan
    2017-09-06T17:44:18+08:002017-09-06T17:44:18+08:00

    Por padrão no Kubuntu, o conselho desse tutorial sobre esses arquivos específicos não é tão relevante, porque seu shell padrão - o shell que você obtém quando (a) faz login ou (b) abre uma janela do Konsole ou outro emulador de terminal - não não é uma cshimplementação como bsd-cshou tcsh. Em vez disso bash, é um shell de estilo Bourne . Você pode, é claro, ainda usar um shell como tcsh, embora tenha que instalá-lo primeiro - o Ubuntu e seus derivados oficiais, como o Kubuntu, nem mesmo são fornecidos com esse shell instalado, embora estejam incluídos nos repositórios oficiais . Se você colocar comandos .cshrcou.login, você não deve realmente esperar que eles sejam executados em seu sistema Kubuntu. Você provavelmente poderia configurar o KDE para fazer isso. Mas apenas mudar seu shell de login não conseguiria isso - o login de um gerenciador de exibição gráfica normalmente não faz com que um shell tcshseja executado ou os arquivos de configuração do C Shell sejam lidos.

    Portanto, na sua situação - e na grande maioria dos usuários do Ubuntu - há um motivo extra para evitar colocar comandos que executam programas gráficos nesses arquivos. Eles não vão correr quando você quiser. No entanto, o arquivo chamado .profileem seu diretório pessoal é executado por shells no estilo Bourne, como bashquando eles são iniciados como shells de login, e esses comandos também são, embora principalmente por tradição, executados na maioria dos ambientes de área de trabalho gráfica quando você faz login. nesse tutorial é dimensionado para .profilee quaisquer outros arquivos que não sejam especificamente destinados a conter comandos que são executados em uma sessão gráfica que já foi iniciada. É como diz glenn jackman . Eles vão correr quando você não quiser.O problema ainda é um pouco mais profundo do que isso.

    Primeiro, o básico: se você colocar comandos que executam programas gráficos em arquivos de configuração executados para todos os shells de login, as tentativas de executar os programas geralmente serão feitas quando você fizer login, mesmo se estiver fazendo login usando um método em que eles não podem corre. Se você colocar os comandos em um arquivo de configuração que é executado toda vez que você executa seu shell, mesmo quando não está sendo executado como um shell de login - pois bash, .bashrcé esse tipo de arquivo - eles serão executados sempre que você abrir um novo shell. Imagine o Firefox rodando, de novo e de novo, toda vez que você abre uma aba do Konsole, e também dando erros toda vez que você faz login em um console virtual ou por SSH ou quando você simula um login com ou .sudo -i your-usernamesu - your-username

    O problema mais profundo é este: se uma sessão gráfica estiver configurada para executar comandos de um arquivo para inicializar sua sessão de área de trabalho e esses comandos tentarem executar programas gráficos antes que as outras coisas sejam configuradas para que funcionem corretamente, você pode obter resultados inesperados resultados. Se eles forem executados cedo o suficiente, você terá o mesmo problema como se não fosse uma sessão gráfica. Um pouco mais tarde, os programas podem iniciar antes dos elementos da interface do usuário, como os painéis, o que seria confuso e poderia produzir um comportamento incorreto mesmo depois que tudo for iniciado.

    As versões recentes do Kubuntu usam o KDE Plasma Workspaces. Se você tiver programas gráficos que deseja executar toda vez que fizer login graficamente em seu sistema Kubuntu, você pode ir para Inicialização e desligamento → Início automático e adicioná-los . É assim que eu recomendo que você faça. Ou você pode colocar manualmente um .desktoparquivo, link simbólico ou script de shell 1 em ~/.config/autostart(onde ~significa seu diretório inicial), que é o local padrão da pasta de inicialização automática. Copiar esse .desktoparquivo é o que a ferramenta gráfica Autostart faz , portanto, na maioria das vezes, você não ganharia nada "fazendo você mesmo". Veja também a documentação do KDE .

    1 Ou qualquer outro executável, mas esses são os mais comuns. Normalmente, você não deve copiar um programa para este diretório. Uma razão para não fazer isso é que, quando o programa for atualizado, você ainda estará executando o binário antigo (possivelmente em combinação com arquivos de suporte específicos para versões mais recentes).

    • 2

relate perguntas

Sidebar

Stats

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

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

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