mount disku po startu

Založil kive12, 04. 02. 2012, 11:34:44

Předchozí téma - Další téma

kive12

Ahoj.
potřeboval bych, aby se mi jeden disk připojoval automaticky po startu systému. Doteď jsem měl na ploše ikonu disku a po kliknutí na ni to chtělo heslo a teprve potom se připojil.

takže jsem si pomocí "blkid" zjistit údaje o disku:
/dev/sda4: LABEL="Da11" UUID="fb31a175-a748-421e-a5e8-ba1cd18af73c" SEC_TYPE="ext2" TYPE="ext3"

a do "/etc/fstab" jsem si přidal
UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   defaults   0   0

Po startu systému se nejspíše připojí, ale:
z plochy mi zmizela ikona pro tento disk a když spustím správce souborů, tak tam ten disk nevidím.
Dostanu se na něj pouze přes /media/Da11/

Mam Debian testing - xfce4

Poradíte, zda jsem něco udělal špatně nebo jak dosáhnu toho, abych i nyní ve správci souborů viděl ten disk a případně i na ploše byla ikona?
Děkuji

Ota Trkola

Nemá Thunar náhodou v nastavení jakousi volbu zobrazovat připojená zařázení, nebo tak něco? Další možnost je, vytvořit si zástupce na tento svazek a dát si ho na plochu.

kive12

Díky za odpověď.
Thunar bohužel žádnou takovou volbu nemá (pokud není nějak skrytá). Takže to asi bude muset vyřešit ten zástupce....

Petr Gajdůšek

Ahoj,

1) XFCE používá pro připojování svazků udisks, který pro authorizaci používá PolicyKit. Jestli nechceš pro připojování pomocí udisks (plocha atd.) zadávat heslo uprav si nastavení PolilcyKit.

man 8 pklocalauthority

Ve zkratce stačí vytvořit v /etc/polkit-1/localauthority/50-local.d/ třeba soubor
70mount.pkla a do něho přidat


[org.freedesktop.udisks.filesystem-mount-system-internal]
Identity=unix-user:uzivatel
Action=org.freedesktop.udisks.filesystem-mount-system-internal
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=yes


V řádku
Identity=unix-user:petr nahraď uzivatel za jméno tvého účtu.

Nebo celý řádek za Identity=unix-group:*. Takto bude mocí připojovat svazky bez authorizace každý lokálně připojení uživatel.

2) Pokud nestačí, že udisks ti  připojí oddíl na vyžádání a bez autentizace, a potřebuješ ho připojovat automaticky po spuštění sezení (přihlášení) můžeš použít například
udisks --mount /dev/disk/by-uuid/fb31a175-a748-421e-a5e8-ba1cd18af73c...
včetně options pro mount (viz man udisks).

Nebo můžeš použít méně flexibilní gvfs-mount.

Petr Gajdůšek

Tak se omlouvám, odpověděl jsem na něco trochu jiného :/ Měl jsem pocit, že ti vadí hlavně zadávání hesla nebo že chceš mít disk připojen hned po přihlášení (třeba kvůli indexování?) a teď mi došlo, že asi chceš připojovat disk VŽDY při bootu ještě předtím než se přihlásíš a vytvoříš si session.

Citacea do "/etc/fstab" jsem si přidal
UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   defaults   0   0

V options ti chybí user nebo users. Bez toho ikony neuvidíš. S users ten disk budeš moci i odpojit, s user pouze root (on ho připojíl).
Další podmínkou je, aby mount point v /etc/fstab byl v adresáři /media/, tak to ale máš.

kive12

Citace od: Petr Gajdůšek kdy 06. 02. 2012, 12:44:39
2) Pokud nestačí, že udisks ti  připojí oddíl na vyžádání a bez autentizace, a potřebuješ ho připojovat automaticky po spuštění sezení (přihlášení) můžeš použít například
udisks --mount /dev/disk/by-uuid/fb31a175-a748-421e-a5e8-ba1cd18af73c...
včetně options pro mount (viz man udisks).

A to "udisks ..." by se mělo přidat do jakého souboru? Nebo bych to musel zadávat ručně v terminálu?

Citace od: Petr Gajdůšek kdy 06. 02. 2012, 14:30:31
Tak se omlouvám, odpověděl jsem na něco trochu jiného :/ Měl jsem pocit, že ti vadí hlavně zadávání hesla nebo že chceš mít disk připojen hned po přihlášení (třeba kvůli indexování?) a teď mi došlo, že asi chceš připojovat disk VŽDY při bootu ještě předtím než se přihlásíš a vytvoříš si session.
No, já ten disk chci mít připojený, abych nemusel zadávat heslo a také mít na ploše několik spouštěčů aplikací, které jsou na tom disku.

Citace od: Petr Gajdůšek kdy 06. 02. 2012, 14:30:31
V options ti chybí user nebo users. Bez toho ikony neuvidíš. S users ten disk budeš moci i odpojit, s user pouze root (on ho připojíl).
Další podmínkou je, aby mount point v /etc/fstab byl v adresáři /media/, tak to ale máš.

Nakonec jsem zkusil vytvořit v /etc/polkit-1/localauthority/50-local.d/ ten soubor. - OK disk to připojilo, ale nefungovali mi ty spouštěče, které mám na ploše.

Zkusil jsem také upravit fstab a přidat tam users: UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   users,defaults   0   0
OK disk to připojilo, ale opět nefungovali ty spouštěče, které mám na ploše.


Pokud v tom fstab nechám to, co jsem tam měl:
UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   defaults   0   0

Tak mi sice zmizí ikona toho disku, ale fungují mi ty spouštěče na ploše. Nebyla by ještě rada, jak na ty spouštěče, aby šli spouštět aplikace z toho disku?

Petr Gajdůšek

CitaceNakonec jsem zkusil vytvořit v /etc/polkit-1/localauthority/50-local.d/ ten soubor. - OK disk to připojilo, ale nefungovali mi ty spouštěče, které mám na ploše.
CitaceA to "udisks ..." by se mělo přidat do jakého souboru? Nebo bych to musel zadávat ručně v terminálu?
Můžeš vytvořit "spouštěč" v ~/.config/autostart/ nebo rychleji v záložce "Automatický start aplikace" v xfce4-session-settings.

Citace
Zkusil jsem také upravit fstab a přidat tam users: UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   users,defaults   0   0
OK disk to připojilo, ale opět nefungovali ty spouštěče, které mám na ploše.
Jestli je ten disk připojen - a měl by být, tak by měly fungovat i ty spouštěče. Předpokládám, že jsou to .desktop soubory, jaký je jejich obsah? Jdou ty aplikace spustit z terminálu? Je nějaký rozdíl mezi mount | grep /media/Da11 pokud je v /etc/fstab users a když není? Jaká jsou práva a vlastník /media/Da11? Co se stane, když spouštěč na ploše (.desktop soubor) spustíš z terminálu pomocí xdg-open? Není náhodou oddíl připojen s volbou noexec?

Ještě shrnutí:
1) Pokud jsi upravil konfiguraci policykit pro akci org.freedesktop.udisks.filesystem-mount-system-internal, tak aby nebylo potřeba zadávat heslo, stačí tento disk připojit po startu sezení pomocí udisks --mount /dev/disk/by-uuid/fb31a175-a748-421e-a5e8-ba1cd18af73c (v ~/.config/autostart/). Takto nemusí vůbec být přítomen v /etc/fstab. V /media/ musí existovat adresář shodný s label oddílu (Da11), který se defaultně použije jako mountpoint a musí mít nastavená vhodná práva, aby si do něho mohl přistupovat (např. 777).

2) Pokud máš řádek ve fstab s volbami defaults,users, připojí se disk už při bootu (volba default implicitně zahrnuje volbu auto).

3) Mít ve fstab volby defaults,users,noauto a disk připojovat až při startu sezení pomocí mount (v ~/.config/autostart)

Pokud použiješ řešení 1 nebo 3, musíš před spuštěním .desktop souborů nejdříve ten souborový systém připojit (buď automaticky např. v ~/.config/autostart) nebo ručně např. poklepáním na ikonu se souborovým systémem na ploše.

Pokud je oddíl připojen a přesto odkazy na aplikace nefungují, zkus zjistit proč, viz úvod mé odpovědi. Spuštění xdg-open ~/Plocha/spouštěč.desktop z terminálu by mohlo říci proč spustit nejde.

Jinak mě už nic nenapadá. Hodně zdaru!

kive12

Citace od: Petr Gajdůšek kdy 15. 02. 2012, 22:52:41
Citace
Zkusil jsem také upravit fstab a přidat tam users: UUID=fb31a175-a748-421e-a5e8-ba1cd18af73c   /media/Da11   ext3   users,defaults   0   0
OK disk to připojilo, ale opět nefungovali ty spouštěče, které mám na ploše.
Jestli je ten disk připojen - a měl by být, tak by měly fungovat i ty spouštěče. Předpokládám, že jsou to .desktop soubory, jaký je jejich obsah?

Ano. Jsou to .desktop soubory vytvářené na ploše přes pravé tlačítko myši a - přidat spouštěč.


[Desktop Entry]
Version=1.0
Type=Application
Name=mu
Comment=
Exec=/media/Da11/mucmd/mucommander.sh
Icon=
Path=
Terminal=false
StartupNotify=false



Citace od: Petr Gajdůšek kdy 15. 02. 2012, 22:52:41Jdou ty aplikace spustit z terminálu? Je nějaký rozdíl mezi mount | grep /media/Da11 pokud je v /etc/fstab users a když není?

bez users:
/dev/sda4 on /media/Da11 type ext3 (rw,relatime,errors=continue,barrier=1,data=ordered)
s users
/dev/sda4 on /media/Da11 type ext3 (rw,nosuid,nodev,noexec,relatime,errors=continue,barrier=1,data=ordered)

Nebude tedy tady problem s tím, že když tam přidám users, tak je tu noexec? Jak se toho ale zbavím?


Citace od: Petr Gajdůšek kdy 15. 02. 2012, 22:52:41Jaká jsou práva a vlastník /media/Da11?

příkaz ls -l mi vypíše na tom adresáři toto:
drwxrwxrwx 25 dan root 4096 úno 18 15:39 Da11


Citace od: Petr Gajdůšek kdy 15. 02. 2012, 22:52:41Co se stane, když spouštěč na ploše (.desktop soubor) spustíš z terminálu pomocí xdg-open? Není náhodou oddíl připojen s volbou noexec?

beu users:
aplikace se normálně spustí

s users:
v terminálu se nic nevypíše, ale vyskočí mi nový dialog:
Přidání zásuvného modulu na panel se nezdařilo
Nebyla nalezena žádná spuštěná instance xfce4-panel



Petr Gajdůšek

Citace
bez users:
/dev/sda4 on /media/Da11 type ext3 (rw,relatime,errors=continue,barrier=1,data=ordered)
s users
/dev/sda4 on /media/Da11 type ext3 (rw,nosuid,nodev,noexec,relatime,errors=continue,barrier=1,data=ordered)

Nebude tedy tady problem s tím, že když tam přidám users, tak je tu noexec? Jak se toho ale zbavím?

To je ono. Volba users zapíná i volby noexec, nosuid, and nodev. Přehlídl jsem to. Takže stačí explicitně přidat volbu exec (a případně i dev, suid, ale to nejspíš nepotřebuješ).

kive12

Citace od: Petr Gajdůšek kdy 18. 02. 2012, 23:52:17
Citace
bez users:
/dev/sda4 on /media/Da11 type ext3 (rw,relatime,errors=continue,barrier=1,data=ordered)
s users
/dev/sda4 on /media/Da11 type ext3 (rw,nosuid,nodev,noexec,relatime,errors=continue,barrier=1,data=ordered)

Nebude tedy tady problem s tím, že když tam přidám users, tak je tu noexec? Jak se toho ale zbavím?

To je ono. Volba users zapíná i volby noexec, nosuid, and nodev. Přehlídl jsem to. Takže stačí explicitně přidat volbu exec (a případně i dev, suid, ale to nejspíš nepotřebuješ).


Děkuji. Opravdu to pomohlo.

Mohl bych se ještě zeptat, co dělá "dev" a "suid"? Až mi něco zase nepůjde, abych věděl, že to může být tímto.

A ještě jeden dotaz. Všechno už jde dobře. Ale když třeba nyní stisknu CTRL+S, abych uložil nějakou stránku, v tom seznamu míst v levé částí save dialogu (týká se to i open dialogu) vidím dvakrát "Da11".
Když vyberu ten první, vyskočí chyba "Nelze připojit Da11 - mount: /dev/sda4 already mounted or /media/Da11 busy
mount: according to mtab, /dev/sda4 is already mounted on /media/Da11"
Když ale kliknu na ten druhý, tak je to v pořádku.
Tento detail, že to je na tomto dialogu dvakrát a jednou to nejde, mi už ani moc nevadí, ale kdybys věděl, jak se toho mohu zbavit, nezlobil bych se :)

Ale jinak opravdu velmi děkuji za pomoc.