Eu criei um atalho através da opção "criar link". Quando entro na pasta deste atalho, não consigo ver nenhuma pasta acima dela, portanto não consigo navegar facilmente até elas.
Existe uma maneira de subir uma pasta na GUI? Talvez uma tecla de atalho? (Não é possível fazer cd ..
desta vez ^ __ ^).
No Windows, por exemplo, sou realmente capaz de navegar da maneira que descrevo, aqui está uma imagem do Win10 que explica:
nautilus
symbolic-link
JohnDoea
fonte
fonte
Alt+up key
Respostas:
Por que essa é uma pergunta desafiadora
A questão tem alguns desafios:
nautilus
não se comunica diretamente a partir da linha de comando, para obter o diretório ativo no momento, por exemplo, nem pode "enviar" a pasta atualmente aberta (-window) para outro diretório na linha de comando."NAUTILUS_SCRIPT_CURRENT_URI"
, o Nautilus não retorna o caminho real para a pasta atual, mas "vê" o link como se fosse uma pasta real.A solução, portanto, é tão suja quanto possível; precisamos encontrar soluções alternativas. Abaixo quatro opções para resolver o problema.
1. clique com o botão direito para subir um nível
Para obter o caminho real para o diretório atual, precisamos recuperar as informações do link. Podemos fazer isso usando
ls -l
o link, que irá gerar, por exemplo:onde a seção depois
->
é o caminho real dentro do link simbólico ou, usandopython
:Usando isso em um
nautilus
script, podemos obter indiretamente o caminho real para o arquivo ou pasta atual.Então, se temos o caminho, como fazemos o nautilus subir um nível acima?
Novamente, não podemos resolver isso e manter as mãos limpas. Para subir um nível, primeiro editamos um pouco o caminho encontrado, de:
para dentro
então, usando
xdotool
para simular Ctrl+ L(o atalho da GUI para inserir um caminho em uma janela do nautilus, já que não há opção cli para mover para outro diretório usando a janela atual ) e, posteriormente,xclip
colar o caminho editado + Enter, temos uma solução funcional !Na prática
Estamos em uma pasta, aberta em um link ("Link para Telegram") na minha área de trabalho. A pasta real é uma subpasta da minha
Downloads
pasta:Então, se clicarmos com o botão direito do mouse em qualquer um dos arquivos dentro da pasta para executar o script:
Automaticamente, o caminho para o diretório superior é inserido:
E, também automaticamente, Returné pressionado e subimos um nível de diretório:
O script
Como configurar
O script precisa de ambos
xdotool
exclip
:criar, se ainda não existir, o diretório
Copie o script acima em um arquivo vazio, salve-o como
level_up
(sem extensão)~/.local/share/nautilus/scripts
e torne-o executávelAgora você deve poder executar o script clicando com o botão direito do mouse em um arquivo (qualquer)> scripts> level_up:
[ EDIT ] Mudei o script acima para colar o caminho na
nautilus
janela, em vez dexdotool
digitar . Eleneeds
xclip
deve ser instalado, mas é uma grande melhoria, especialmente em caminhos muito longos.2. Como alternativa, abra uma nova janela do nautilus no diretório superior
Você pode evitar o uso
xdotool
, criando o script para abrir uma nova janela do nautilus, no diretório dos pais. O script seria então ainda mais curto:Nesse caso, você não precisaria instalar
xdotool
. Poderíamos até estender o script fechando a janela original e colocando a nova janela exatamente na mesma posição (& tamanho).A desvantagem é que o histórico da janela original é perdido dessa maneira.
3. Uma solução adicional: maneira alternativa de criar (automaticamente) links
Não é relevante para os links existentes, mas quando usado na GUI, um script nautilus para criar automaticamente
.desktop
arquivos executáveis com o botão direito do mouse pode ser útil:clique com o botão direito do mouse no diretório para criar um atalho (comportando-se como um link)
Ao contrário dos links simbólicos, esses links levarão você para a pasta real, sem se comportar como uma pasta:
O script
Como usar
make_link
(sem extensão)~/.local/share/nautilus/scripts
e torne-o executável.desktop
arquivo executável será criado no mesmo diretório; mova-o para outro local, se necessário; o caminho vinculado é absoluto.Dê ao link um ícone distintivo
Você pode dar ao link alternativo um ícone distintivo. Se você pesquisar dentro do diretório
/usr/share/icons
por "pasta", várias opções válidas serão exibidas.Se no script a linha
"Icon=folder",
for substituída porIcon=stock_folder-copy,
(use o nome do ícone sem extensão), o resultado no meu sistema será:Claro que você pode usar seu próprio ícone personalizado, bem como, mas se você usar caminhos completos (não use
~
), você deve incluir a extensão do ícone.4. Vá para o diretório superior com uma tecla de atalho
Provavelmente a opção mais conveniente; com a janela do nautilus na frente, pressione uma tecla de atalho para mover um diretório para cima.
O script
Usar
Para esta solução, ambos
xclip
exdotool
precisam estar no seu sistema.Copie o script para um arquivo vazio, salve-o como
level_up.py
(em qualquer lugar).Adicione-o a uma tecla de atalho: escolha: Configurações do sistema> "Teclado"> "Atalhos"> "Atalhos personalizados". Clique no "+" e adicione o comando:
Nota: as opções de atalho são um pouco limitadas neste caso, pois o próprio scriptsimularáCtrl+LeCtrl+Alt+Lfará com que você efetue logout ...Ctrl+\funcionou bem no meu sistema.
Explicação
Esse script também simula Ctrl+ L, mas, em vez de usar o nautilus '
"NAUTILUS_SCRIPT_CURRENT_URI"
, ele usaxclip
para copiar o caminho selecionado automaticamente na janela do nautilus. Como a opção 1, o script calcula o caminho real e deriva o diretório superior.Essa opção pode ser útil se você preferir o teclado usando o botão direito do mouse.
fonte
Ou para o Ubuntu 14.04, nautilus 3.10-1, com o
xdotool
pacote adicionado, basta usar o seguinte em seu.local/share/nautilus/scripts/updirtree
arquivo:A citação final deve conter apenas uma nova linha ou return (
0x0a
). Opwd
de dentro do nautilus produz um resultado diferente do que quando executado a partir de um bash / terminal - ele retorna o caminho real, não o caminho usando o link.Concordo que não faz sentido, não está documentado e não consigo nem imaginar que tipo de ambiente de execução está executando o código (não consigo encontrar nenhum shell que produz esse resultado), mas funciona. É um hack, e é por isso que incluí a versão do nautilus. Quem sabe quanto tempo vai funcionar? Pode ser interrompido na próxima atualização do nautilus (ou no intérprete desconhecido), mas, para mim, funciona em links para locais montados, links para locais na árvore de diretórios ou apenas locais simples na árvore de diretórios.
fonte
$(pwd)
é o diretório de trabalho do shell , não do nautilus . Veja help.ubuntu.com/community/NautilusScriptsHowtoxclip
colei o caminho, que não está sujeito ao comprimento do caminho.Uma correção limpa, mas precisa da reconstrução da fonte revertendo este commit :
Instruções de construção:
Fonte do download:
Baixar dependências de compilação
Faça a modificação necessária do patch acima
Editar
src/nautilus-mime-actions.c
Construa e instale
Para testar sem instalação
Para instalá-lo
Isso fará o nautilus resolver os links no caminho de destino. BTW, isso foi relatado como bug há algum tempo. Se você acha que esse é um recurso, envie outro relatório de bug, solicitando a opção de configuração ou atalho específico para ele.
Referência: Como impedir o Nautilus de remover referências de links simbólicos? [fechadas]
fonte
/usr/local/bin/
, de modo que o sistema sempre executar a cópia modificada, conforme listado na$PATH