Mesclar o sistema operacional para usar os mesmos aplicativos?

Mesclar o sistema operacional para usar os mesmos aplicativos?

Tenho usado Ubuntu GNOME 20.04 e Kubuntu 21.04. Ambos estão em partições separadas. Tenho que fazer trabalhos em ambos os sistemas operacionais, mas para isso tenho que reiniciar o computador e selecionar o outro sistema operacional para inicializar.

Então eu quero saber se existe alguma maneira de compartilhar os aplicativos instalados no Kubuntu que também são usados ​​no Ubuntu sem reinstalar o mesmo software no Ubuntu novamente e assim não preciso alternar entre os sistemas operacionais.

Responder1

Não, praticamente falando. Ter dois sistemas operacionais separados, de versões diferentes, mas configurar que você possa usar binários de outra versão em um sistema operacional diferente seria 1) em muitos casos impossível devido à incompatibilidade binária e/ou dependências erradas ou indisponíveis ou 2) ser tecnicamente muito complicado de configurar e ainda com um risco significativamente maior de problemas inesperados.

Sim, em princípio, você poderia montar a partição do sistema do outro sistema operacional e executar alguns binários simples diretamente no outro sistema operacional. A maioria dos binários, entretanto, são muito mais complexos e dependem de configurações e dependências específicas do sistema. Eles não serão executados quando você tentar executá-los em um sistema operacional diferente. Alguém muito proficiente em Linux ainda pode conseguir fazer com que isso funcione como um hobby - é um exercício que precisaria ser repetido para cada aplicativo individualmente.

Então, existe alguma maneira de compartilhar os aplicativos instalados no Kubuntu também é usado no Ubuntu sem reinstalar o mesmo software no Ubuntu novamente e assim não preciso alternar entre sistemas operacionais.

Como você escreveu aqui, sim.

Mantenha um único sistema operacional e instale nele o Gnome Shell, o shell do Ubuntu padrão, e o KDE Plasma, o shell do Kubuntu. Qualquer aplicativo que você instalar estará disponível em qualquer área de trabalho em que você esteja conectado.

Responder2

Sim, você pode executar software de várias instalações do Ubuntu ao mesmo tempo usando um chroot. Existem algumas advertências:

  • Todos os programas serão executados em um único kernel.
  • Os programas no chroot não estarão disponíveis por padrão para o sistema operacional principal. Você precisará criar scripts wrapper para iniciá-los.
  • Pode ser necessário fazer vários ajustes para que as coisas funcionem sem problemas. No mínimo, a propriedade/usuários/grupos de arquivos precisarão ser harmonizados. O que é mostrado abaixo funciona no meu sistema. Você provavelmente precisará fazer ajustes adicionais que não posso prever.

Para configurar um chroot você precisará fazer o seguinte:

  • Inicialize na instalação do Kubuntu.

  • Instalar schroot:

    apt-get install schroot
    

    Adicione o seguinte ao /etc/schroot/schroot.confseu USERNAMEnome de usuário alterado:

    [gnome]
    description=Ubuntu 20.04
    directory=/chroot/gnome
    users=USERNAME
    groups=root
    root-groups=USERNAME
    
  • Adicione o diretório raiz do chroot /etc/fstab(é a segunda linha abaixo). Em seguida, adicione montagens de ligação para diretórios do sistema e quaisquer montagens não padrão que você esteja usando. Se você precisar de alguma opção de montagem especial, adicione-a também. Por exemplo:

    /.media        /media                  none  defaults,bind,noauto             0  0
    LABEL=gnome    /chroot/gnome           ext4  defaults,auto,errors=remount-ro  0  0
    /proc          /chroot/gnome/proc      none  defaults,rbind,noauto            0  1
    /dev           /chroot/gnome/dev       none  defaults,rbind,noauto            0  1
    /sys           /chroot/gnome/sys       none  defaults,rbind,noauto            0  1
    /var/run/dbus  /chroot/gnome/run/dbus  none  defaults,rbind,noauto            0  1
    /var/lock      /chroot/gnome/run/lock  none  defaults,rbind,noauto            0  1
    /var/tmp       /chroot/gnome/var/tmp   none  defaults,rbind,noauto            0  1
    /tmp           /chroot/gnome/tmp       none  defaults,rbind,noauto            0  1
    /home          /chroot/gnome/home      none  defaults,rbind,noauto            0  1
    /media         /chroot/gnome/media     none  defaults,rbind,noauto            0  1
    
  • Crie diretórios:

    mkdirhier /.media /chroot/gnome
    chmod 755 /.media /chroot /chroot/gnome
    chown root.root /.media /chroot /chroot/gnome
    
  • Adicione o seguinte a /etc/rc.local:

    # Make mounts shared
    
    mount /.media  || true
    mount /media   || true
    
    /bin/mount --make-rshared /.media || true
    
    # If you have any static mounts under /media, add mount commands for
    # them here and set them to noauto in /etc/fstab
    
    # Mount system directories
    
    mount /chroot/gnome/proc     || true
    mount /chroot/gnome/dev      || true
    mount /chroot/gnome/sys      || true
    mount /chroot/gnome/run/dbus || true
    mount /chroot/gnome/run/lock || true
    mount /chroot/gnome/var/tmp  || true
    mount /chroot/gnome/tmp      || true
    mount /chroot/gnome/home     || true
    mount /chroot/gnome/media    || true
    
    # Additional tweaks
    # (These might not be needed on your system)
    
    # Start udevd under gnome
    # Audio on Chrome won't work without this
    ( schroot -c gnome -p -u root /etc/init.d/udev start ) || true
    
    # Fix pulseaudio
    killall pulseaudio  || true
    
  • Pode ser necessário aplicar ajustes adicionais no momento do login. Se necessário/apropriado, crie o seguinte script de shell e configure-o para ser executado no login, ou seja, quando o ambiente de desktop (KDE ou Gnome) for iniciado:

    #!/bin/sh
    
    # Fix Pulse Audio
    while pidof pulseaudio ; do
        killall pulseaudio
        sleep 1
    done
    schroot -p -c gnome start-pulseaudio-x11 
    
    # Uncomment this if you're running KDE4 in the chroot
    #schroot -p -c KDE4_chroot kded4 &
    
    # (additional tweaks may be needed)
    
  • Harmonize usuários e grupos entre as duas instalações. Você provavelmente pode se safar apenas certificando-se de que seu usuário (e seu grupo) tenha o mesmo UID e GID nos dois. Você precisará atualizar os UIDs e GIDs apropriados no chroot /etc/passwde /etc/group( /etc/shadowanotar os UIDs e GIDs antigos). Feito isso, atualize os IDs numéricos no sistema de arquivos chroot; a opção finddo comando -execjunto com chowne chgrppode ajudar aqui.

  • Se você possui um daemon que deseja executar no chroot, crie o seguinte script de inicialização ( /etc/init.d/DAEMON_NAME, altere DAEMON_NAME conforme apropriado) e torne-o executável:

    #!/bin/sh
    set -e
    schroot -p -c gnome -u root /etc/init.d/DAEMON_NAME $@
    exit 0
    

    Em seguida, adicione o seguinte ao final de /etc/rc.local:

    /etc/init.d/DAEMON_NAME restart
    
  • Adicione scripts de shell para iniciar qualquer programa no chroot que você deseja executar como um usuário normal. Não se esqueça de torná-los executáveis. Se desejar, você pode adicionar um ícone na área de trabalho para iniciar o script wrapper. Por exemplo:

    /usr/local/bin/chrome_gnome:

    #!/bin/sh
    
    mkdir $HOME/.chrome_gnome || true
    schroot -p -c gnome -- google-chrome --user-data-dir=$HOME/.chrome_gnome "$@"
    
  • Reinicie o sistema e tudo deverá funcionar. Para executar um comando no chroot, use o wrapper que você configurou na etapa anterior ou apenas execute manualmente o schroot ...comando na linha de comando.

Você precisará ajustar todos os itens acima para se adequar ao seu sistema. Por exemplo, você provavelmente desejará mesclar o conteúdo de seus dois diretórios pessoais em um único diretório montado em ambas as instalações. Faça isso antes de fazer qualquer montagem vinculada (ou reinicializar), pois os arquivos existentes no ponto de montagem não ficarão visíveis depois que a montagem vinculada for feita (eles ainda estarão lá no disco, mas não estarão acessíveis).

Se você precisar instalar ou atualizar software no chroot, basta usar schroot -p -c gnome -u roote executar apt, etc., normalmente.

Instalações paralelas adicionais do Ubuntu podem ser feitas. Use debootstrappara fazer a instalação inicial em um novo diretório e adicione-o conforme mostrado acima.


Se você quiser clicar em links em um aplicativo com chroot e abri-los usando o manipulador padrão do sistema operacional base, você precisará fazer mais algumas alterações. Observe que depois de fazer isso, as coisas não funcionarão corretamente se você inicializar diretamente o sistema operacional que foi chrootado.

  • Crie um script de shell /usr/local/bin/xdg-open-relay-receivee torne-o executável:

     #!/bin/sh
    
     mkfifo -m 666 /tmp/xdg-open-relay
    
     tail -f "/tmp/xdg-open-relay" | while read line
     do
             xdg-open "$line"
     done
    

    Você pode querer editar o acima para restringir as permissões em /tmp/xdg-open-relay.

  • Adicione o seguinte ao final do script que você criou para ser executado no momento do login:

     killall xdg-open-relay-receive
     nohup /usr/local/bin/xdg-open-relay-receive &
    
  • Substitua o comando do chroot xdg-openpor um novo script de shell:

    • mv /chroot/gnome/usr/bin/xdg-open /chroot/gnome/usr/bin/xdg-open.DISABLED

    • Escreva o seguinte /chroot/gnome/usr/bin/xdg-opene torne-o executável:

      #!/bin/sh
      echo "$@" > /tmp/xdg-open-relay
      

Responder3

Muitos aplicativos usam o diretório /home para armazenar os dados que o aplicativo gera (mundos do Minecraft, imagens, edições de vídeo do kdenlive...). Portanto, se você criar uma partição diferente para /home para o Ubuntu e usar a mesma partição no Kubuntu sem reformatar e digitar o mesmo nome de usuário/senha durante a instalação, isso deverá resultar nas configurações do seu aplicativo iguais nas duas variantes. É difícil compartilhar aplicativos usando esse método, mas pelo menos suas configurações devem ser compartilhadas.

Fonte:https://unix.stackexchange.com/questions/442495/ Different-linux-distros-sharing-applications

dicas para coisas práticas:https://unix.stackexchange.com/questions/6344/ Different-linux-distros-sharing-the-same-home-folderresposta aceita

informação relacionada