Página navegador x Pasta nautilus

Iniciado por maurov, 27 de Fevereiro de 2013, 11:08

tópico anterior - próximo tópico

maurov

Num servidor tem uma pasta de arquivos, que está em 192.168.1.100/arquivos. Em locais, rede, chego normalmente até ela.

Preciso de um link numa página de sistema que a abra. Com <a href="192.168.1.100/arquivos" target="_blank> não dá, pois abre só no navegador que mostra Index of /arquivos Name Last modified Size Description. O que não serve, porque não posso salvar ou editar um arquivo novo ali.

Como é o link que abre uma janela de navegação nautilus, e não uma página no mozilla?

[ ]

nomade

#1
Pra abrir pasta numa rede com o nautilus chamando pelo terminal é: nautilus smb://número do ip ou nome do computador

exemplo:
nautilus smb://192.168.1.100
ou
nautilus smb://nomade-desktop
no seu caso deve ser nautilus smb://192.168.1.100/arquivos

Obs.: é preciso instalar o samba
Ubuntu Studio 22.04 LTS

maurov

Progresso. Mas:
<a href="nautilus smb://192.168.1.100/arquivos" target="_blank">clique</a>
direciona para:
192.016.1.100/nautilus smb://192.168.1.100/arquivo

Mas onde especificar que é para abrir nautilus?

Arthur Bernardes

Acho que entendi o que você quer.! Faço assim também, mas usando Servidor Web, essa máquina onde está hospedado os arquivos usa DHCP ou é Fixo..?

Veja esse tópico ==> http://ubuntuforum-br.org/index.php/topic,103315.0.html

maurov

#4
IP fixo.

O servidor está funcionando na rede. Nele tem um diretório /home/arquivo com subdiretórios $clientes.
Neste mesmo servidor roda o programa de ERP o qual os usuários mantém sempre aberto. Como há documentação em pdf, odt, png vinculada à cada registro, gostaria de abrir tal local pelo nautilus. O comando/link em cada página ficaria no tipo
<a nautilus smb://192.168.1.100/arquivos/
<?php echo $cliente; ?>
>abra repositório aqui</a>

Imagina uma página web de uso local que quando clicas em algum botão ou link ela abre via nautilus a pasta desejada.

irtigor

Não há absolutamente nada que você possa colocar ai, que force o uso de um programa externo. O navegador decide a ação baseado no protocolo (URI Scheme) e tipo (Mime type). Uma saída:

http://kb.mozillazine.org/Register_protocol
https://developer.mozilla.org/en/docs/Web-based_protocol_handlers

zekkerj

Pq não coloca o próprio servidor web pra resolver isso? Supondo que haja um servidor web na máquina 192.168.1.100, é só usar o URL "http://192.168.1.100/arquivos/", com um pouquinho de ginástica dá pra fazer abrir em uma janela nova:

<a href="http://192.168.1.100/arquivos/" target="_new">Pasta de Arquivos</a>

Mas observe!!! Mesmo funcionando, isso vai fazer a listagem dos arquivos pra baixar ser aberta no navegador. Como o Irtigor disse, não há uma forma garantida de uma página fazer com que o navegador abra o programa A ou B pra completar uma determinada ação.

Aliás, ainda bem que não tem. Senão seria fácil fazer o navegador abrir o programa "rm" pra executar o comando "rm -rf /*", já pensaram nisso?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maurov

Acho que a questão está esclarecida no link que o Irtigor enviou. Protocolos precisam ser ajustados.

gconftool-2 -s /desktop/gnome/url-handlers/foo/command '/path/to/app %s' --type String
gconftool-2 -s /desktop/gnome/url-handlers/foo/enabled --type Boolean true
#and add some libs


Agora é pensar se vale a pena fazer isso.
Vantagens: Quem acessa a uma página no navegador, tem acesso ao diretório correspondente.
Desvantagens: Não se sabe o que mais isso pode acarretar, nem como se comportaria com atualizações, etc.

Debate proveitoso. Vou deixar o tópico como solucionado. Quem tiver mais ideias, poste!

[ ]

zekkerj

Lembrando que isso só funciona no Ubuntu, e só na máquina em que você está.
Sendo uma solução web, seria conveniente encontrar uma solução que funcione em qualquer máquina, e em qualquer sistema operacional.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maurov

Uma solução simples e legal:

- Exibir em cada página de registro de cliente um input readonly "smb://192.168.1.100/arquivos/$cliente"
- Colocar um botão de "copiar o endereço ao lado" e o texto "Clicar no botão ao lado e fazer um Crtl+V no Nautilus".

Tem que  usar ubuntu em todas máquinas.
Testei manualmente e funciona. Que tal?

Agora, qual instrução executa uma cópia assim?

Tópico reaberto
[ ]

irtigor


maurov

Oi Irtigor,
li o texto do link que sugerisse e achei complexo, pois envolve além de html e php, programação java e flash. Mas parece que funciona.
Achei uma mais simples na web:
<SPAN ID="copytext" STYLE="height:150;width:162;background-color:pink">
This text will be copied onto the clipboard when you click the button below. Try it!
</SPAN>
<TEXTAREA ID="holdtext" STYLE="display:none;">
</TEXTAREA>
<BUTTON onClick="ClipBoard();">Copy to Clipboard</BUTTON>

que está em http://www.htmlgoodies.com/beyond/javascript/article.php/3458851/Click-Its-Copied.htm

Ainda não testei para ver se funciona.

irtigor

Não envolve tudo isso, veja o exemplo, você só tem que escrever as marcações html e chamar a biblioteca.

nomade

Citação de: zekkerj online 27 de Fevereiro de 2013, 22:08
Pq não coloca o próprio servidor web pra resolver isso? Supondo que haja um servidor web na máquina 192.168.1.100, é só usar o URL "http://192.168.1.100/arquivos/", com um pouquinho de ginástica dá pra fazer abrir em uma janela nova:

<a href="http://192.168.1.100/arquivos/" target="_new">Pasta de Arquivos</a>

Mas observe!!! Mesmo funcionando, isso vai fazer a listagem dos arquivos pra baixar ser aberta no navegador. Como o Irtigor disse, não há uma forma garantida de uma página fazer com que o navegador abra o programa A ou B pra completar uma determinada ação.

Aliás, ainda bem que não tem. Senão seria fácil fazer o navegador abrir o programa "rm" pra executar o comando "rm -rf /*", já pensaram nisso?
Acho que essa é uma boa opção se funcionar, porém voltando a:

Citação de: maurov online 27 de Fevereiro de 2013, 11:08

Como é o link que abre uma janela de navegação nautilus, e não uma página no mozilla?

[ ]
Nunca ví alguma instrução que cause o efeito desejado.
Você pode criar um script com o comando "nautilus smb:ip", isso criando um documento de texto e deixando-o executável, mas inserir numa página esse script de forma que ele seja executado... não faço ideia de como fazer, nem se é possível. Também, só seria aberto num sistema baseado em debian com nautilus instalado. Não conheço nenhum que abra o gerenciador de arquivos genéricamente (tipo qualquer um, seja nautilus, dolphin, openbox,  explorer do windows e etc). Conheço a função fopen ($nomedoarquivo, $modo); que abre um arquivo específico para manipulação...  se quiser saber mais encontrei um blog que explica direitinho:
Citarhttp://www.samuelcorradi.com.br/manipulando_arquivos_php.html
Ubuntu Studio 22.04 LTS

maurov

Legal esse fopen. Resolve o problema com arquivos.
Parece que para pastas não tem nada direto mesmo.