Você pode montar automaticamente uma partição quando um programa precisa dela?

1

Existe uma maneira de montar uma partição automaticamente quando o calibre é iniciado?

Minha biblioteca de calibres reside em outra partição. Eu fiz a configuração para que eu possa usar a biblioteca tanto no Windows quanto no Ubuntu. Se a partição não estiver montada, o calibre não encontrará a biblioteca e criará uma nova pasta na partição do Linux. Eu tenho que montar manualmente minha partição toda vez antes de iniciar o calibre.

    
por h3dkandi 18.01.2015 / 15:32

2 respostas

1

Graças à ajuda fornecida, foi isso que eu criei.

Crie um script que verifique se sua partição está montada, se não montá-lo. Após a verificação, execute o calibre. % f é para que abra apenas uma janela ( more )

#!/bin/bash
if ! grep -q /dev/sda2 /proc/mounts; then
    udisksctl mount --block-device /dev/sda2
fi
calibre %f

Copie o calibre de /usr/share/applications para o desktop. Edite-o e adicione o script para que ele seja executado quando você clica duas vezes em vez de apenas abrir o programa:

Exec=sh /home/<usr_name>/path/to/script/mount.sh

Deve ser algo assim:

#!/usr/bin/env xdg-open
[Desktop Entry]
Type=Application
Name=calibre
GenericName=E-book library management
GenericName[de]=E-Book Bibliotheksverwaltung
Comment=E-book library management
Comment[es]=aplicación para la gestión de libros electrónicos
Comment[de]=E-Book Bibliotheksverwaltung
Exec=sh /home/<usr_name>/path/to/script/mount.sh
Icon=calibre-gui
Categories=Office;Database;FileTools;Viewer;Qt;
MimeType=x-content/ebook-reader;
    
por h3dkandi 20.01.2015 / 22:53
2

Eu uso a mesma coisa também, assim:

Exec=sh -c "udisksctl mount --block-device /dev/sda2; calibre %f"

O comando udisksctl faz o mesmo que se você clicasse na unidade no Nautilus, então ele é montado na posição padrão como seu usuário . Dessa forma, não é necessária uma senha sudo / root e você pode desmontá-la posteriormente, por exemplo, do Nautilus. Melhor caminho para mim.

    
por Peter Nerlich 20.01.2015 / 20:59