Como fornecer acesso não-root à lib para que a aceleração de hardware do Catalyst possa funcionar?

2

Instalei o AMD Catalyst 13.8 BETA2 seguindo estas estas instruções .

Funciona bem no usuário administrativo com o qual foi configurado, mas um usuário não administrador obtém a tela preta no login.

O usuário não administrador trabalha no modo de renderização de software, mas não em hardware.

cat /var/log/Xorg.0.log

[ 42815.421] (EE) AIGLX error: failed to open /usr/X11R6/lib64/modules/dri/fglrx_dri.so, error[/usr/X11R6/lib64/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]
[ 42815.421] (EE) AIGLX error: failed to open /usr/lib64/dri/fglrx_dri.so, error[/usr/lib64/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]
[ 42815.421] (EE) AIGLX error: failed to open /usr/X11R6/lib/modules/dri/fglrx_dri.so, error[/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]

Da instalação, havia este comando:

sudo ln -s lib /usr/lib64

ls -l /lib mostra que o usuário root e o grupo raiz possuem o diretório e os subdiretórios.

Como usuários não-administradores podem obter com segurança o acesso necessário a esses arquivos?

Observação: o comando symlink foi corrigido nas instruções vinculadas.

    
por Community 09.12.2013 / 20:42

1 resposta

4

Acho que estou começando a entender o que aconteceu. Uma das respostas na página à qual você se vinculou diz para você executar isso:

cd /usr ; sudo ln -svT lib /usr/lib64

Isso vai i) mover você para o diretório /usr e ii) criar um link chamado lib64 (que será /usr/lib64 se você executar o comando ln em /usr ) apontando para /usr/lib . O comando não deve ser executado como seu usuário administrador (é por isso que ele tem sudo ) e certamente não deve ser executado a partir do diretório $HOME do usuário administrador.

Por favor, leia novamente as instruções e siga-as exatamente . Leia também esta nota (incluída apenas sob o comando ln ):

(Note: The second command shouldn't be necessary if there is already such a symbolic link named lib64 pointing to folder lib there. And if there is already a real folder by that name (determined with ls -l /usr/lib64), you should ensure that its contents are safely moved into folder /usr/lib and then delete --the now empty-- folder /usr/lib64 before executing this command).

Portanto, certifique-se de que não exista nenhum diretório /usr/lib64 , se houver, mova seu conteúdo para /lib antes de executar o comando ln .

OBSERVAÇÃO: O comando ln real na minha resposta é ln -svT lib /usr/lib64 , se isso for realmente o que você executou, o link será criado em /usr/lib64 , independentemente de onde você o executa.

    
por 09.12.2013 / 21:34