Instalei o jhbuild e configurei a variável PATH como $PATH:~/.local/bin. Agora, quando executo o comando jhbuild, recebo o erro: You should not use jhbuild as root user e quando altero o usuário para não-root e novamente altero o valor PATH para acima de um substituindo ~ por /root, recebo o erro jhbuild command not encontrado. Estou usando o kali linux, então o usuário padrão é o usuário root.
relate perguntas
-
Como obter a versão padrão de um aplicativo no unix
-
Parábola (semelhante ao Arch) - A atualização do ICU fez com que alguns programas exigissem duas versões diferentes da biblioteca do ICU. Ambos falham ao iniciar. Não pode se reproduzir
-
Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so
-
Como digitar ü no Pinyin IME?
-
Desativar a maximização automática de janelas no Gnome3
O comportamento que você está enfrentando não está relacionado às permissões ou à localização do binário, mas ao usuário que o está executando. Especifique a variável de ambiente
JHBUILD_RUN_AS_ROOT
com qualquer valor, por exemploenv JHBUILD_RUN_AS_ROOT= jhbuild ...
, para poder executarjhbuild
como root.Este é um recurso pouco documentado, tenho certeza de que sugeri uma melhoria no feedback do aplicativo uma vez que foi ignorado; consulte https://github.com/GNOME/jhbuild/blob/master/jhbuild/main.py#L97 para ter uma ideia de por que isso deve funcionar.
Então encontrei a solução para o comando não encontrado , alterei as permissões do diretório de onde o shell está procurando o comando (/root/.local/bin) e todos os arquivos que o jhbuild deseja criar a partir do comando (por exemplo, /jhbuild,/ jhbuild/.cache). Eu os crio manualmente e alterei suas permissões de maneira semelhante.
Como Karl Richter disse, você precisa usar
env JHBUILD_RUN_AS_ROOT= jhbuild ...
para poder executarjhbuild
como root.Porque eles colocam uma verificação de root https://github.com/GNOME/jhbuild/blob/master/jhbuild/main.py#L59 , se o usuário que está executando é root, você recebe esse erro.
Essa solução é boa quando você atualiza ou constrói os módulos.
Mas se você quiser executar uma versão do gnome que você construiu, não poderá obter esse erro novamente.
Eu vi nos logs.
Portanto, você precisa remover a verificação de raiz dos
jhbuild
arquivos.Depois, você não precisará definir o
env
e poderá usar apenasjhbuild ...
.Como compilar
jhbuild
o pacote removendo a verificação de raiz:apt source jhbuild
.jhbuild-<version>/jhbuild/main-py
.Linhas para remover (ou comentar):
apt build-dep jhbuild
..deb
arquivo criado no diretório pai:dpkg -i *.deb
.Pois
command not found
você pode instalarjhbuild
comapt
para que esteja disponível em todo o sistema.Ou construa-o novamente para cada usuário ou, como você disse, corrija as permissões.