Frage

Auf meiner Ubuntu Linux-Box kann ich leicht USB angeschlossene Laufwerke oder CD-ROM-Klick auf Geräte Symbole montieren, die ich auf dem Schreibtisch finden kann.

Zum Beispiel, wenn ich auf ein USB-Laufwerk-Symbol verbunden folgende Dinge geschehen:

  • a / media / LABEL-Verzeichnis wird automatisch erstellt (wo LABEL ist das Label der Platte und von Platte zu Platte variieren kann)
  • das Dateisystem auf dem Gerät auf / media / LABEL montiert ist

Dieses Verfahren unterscheidet sich deutlich von der Montage des mount Befehl. Insbesondere gilt Folgendes:

  • Sie müssen nicht root sein (oder müssen Sie das Gerät nicht ändern / etc / fstab zu ermöglichen normale Benutzer zu montieren)
  • das Verzeichnis / media / LABEL-Verzeichnis wird automatisch erstellt
  • der Name des Verzeichnisses ändert sich entsprechend der Datenträgerbezeichnung.

Es ist ein Kommandozeilen-Befehl, wie die Gnome GUI Montageeinrichtungen verhält sich das?

War es hilfreich?

Lösung

Sehen Sie den pmount Befehl für Nutzungsinformationen

Andere Tipps

Was Sie suchen gio mount ist (es vor kurzem ersetzt gvfs-mount, die gnome-mount ersetzt).

Es gibt ein Manpage hier oder Sie können geben Sie einfach gio help mount für die Details

Die grundlegende Verwendung ist:

gio mount --list --detail eine Liste montiert und montierbar Volumen erhalten

gio mount [-u] <volume> auf [un] montieren, z.B. gio mount smb://server/share oder gio mount WINDOWS.

Leider scheint es ein Fehler zu sein, die in einem führt „Fehler Montageort: Volumen nicht implementiert Mount“ Nachricht von Volume-Namen zu montieren versucht, aber gvfs-mount -d /dev/<devicename> könnte funktionieren

.

Auf modernen Distributionen HAL nicht mehr verwendet wird, existiert pmount noch, aber es ist veraltet .... verwenden:

udisks --mount /dev/sdXN

Ja, es gibt. Es heißt ivman und kümmert sich um alle HAL Ereignisse. Ich beginne es beim Laufen ion3 . Ich einfach starten ivman als Daemon-Prozess, sondern um das Programm zu meiner sudoers-Datei hinzugefügt:

cat /etc/sudoers
[...]
ivman {hostname}=(root) NOPASSWD: /sbin/init, /usr/sbin/hibernate
[...]

, so dass er auch die Energieeinstellungen verwalten.

Ich glaube nicht, Gnome selbst übernimmt die Montage-es ist HAL. Also, wenn HAL ausgeführt wird, sollten Sie in der Lage zu mounten. Ich gehe davon aus, dass pmount spricht mit HAL irgendwie, und das wäre der Weg Aushänge zu handhaben. Ich hoffe, das hilft Ihnen beim ersten, zumindest.

Sie auch gnome-Mount für die Montage / Demon von der Befehlszeile verwenden können.

I-Stecker in meinem USB-Gerät, Typ "gnome-volume-Manager", und dies scheint zu tun, was Sie benötigen.

Das wäre „devkit-disks --mount /dev/sdxx“, wo xx der Brief und die Nummer der Partition ist zu montieren ...

Ich habe ein Skript zu tun, was Sie wollen.

#!/bin/bash
#====================================================================
# udmount.sh - mounts partitons by volume label.
#  usage: udmount.sh <label> [rw|ro|u]
#   rw - mount read-only (default) 
#   rw - mount read-write 
#   u  - unmount
# 
# Mounts on /media/<label>. Tested on Mint 13 and Fedora 19.
# Use and/or modify at your own risk. Your mileage may vary.
# Caveats:
#   * No spaces in volume label. Won't work.
#   * If the mount point (/media/<label>) already exists,
#     (usually from an unclean shutdown), udmount will mount
#     the volume on /media/<label>_  
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You can view the GNU General Public License for this program at
# http://www.gnu.org/licenses/gpl.txt
# Copyright 2013 maxdev137@sbcglobal.net
#====================================================================

BEEP=$'\a'
VLABEL="$1"     # volume label
MPOINT="/media" # default mount point for gnome-mount/udisks
YN=""           # yes/no string

c_red() { echo -n $(tput setaf 1)$1$(tput sgr0) ; }
c_grn() { echo -n $(tput setaf 2)$1$(tput sgr0) ; }
c_yel() { echo -n $(tput setaf 3)$1$(tput sgr0) ; }
c_blu() { echo -n $(tput setaf 4)$1$(tput sgr0) ; }
c_pur() { echo -n $(tput setaf 5)$1$(tput sgr0) ; }
c_aqu() { echo -n $(tput setaf 6)$1$(tput sgr0) ; }
c_wht() { echo -n $(tput setaf 7)$1$(tput sgr0) ; }

Y="YEP " ; Y_c=$(c_grn "$Y")
N="NOPE" ; N_c=$(c_red "$N")
SNAME=`echo "$0" | sed -e 's|.*/\(.*\)$|\1|'`

#--------------------------------------------------
AMV_LABEL=""    # already mounted volume label
MMSG=""         # "is mounted on" msg
AMF=0           # already mounted flag
AMV=""          # already mounted volume (from "mount -l")
AMV_DETAILS=""  # already mounted volume details
AMV_HELPER=""   # "uhelper" subsystem for mount/unmount ("hal" or "udisks")
COPT="$2"       # command line option
MOPT="ro"       # user input for mount option
UOPT="ro"       # udisk mount options

#--------------------------------------------------
_usage ()      { echo "usage: $SNAME LABEL [rw|ro|u]" ; }
_error()       { echo "!!! Error: $1. !!!" >&2 ; echo -n "$BEEP"; _usage ; exit 1 ; }
_error_parm()  { _error "$2 Parameter Missing [$1]" ; }
_error_parm2() { _error "Command is wrong (only \"rw, ro, or u\") is alowed, not \"$1\"" ; }

_unmount () {
  ### unmount ###
  if [ "$COPT" = "u" ] ; then
    MPOINT=`echo "$AMV" | grep "\[$VLABEL\]" |sed -e 's|^.* \(/.*\) type.*$|\1|'`
    #echo "unmount MPOINT = [$MPOINT]"
    if [ -z "$MPOINT" ] ; then
      echo "$N_c - $VLABEL not mounted."
    else
      _MSG=`umount "$MPOINT" 2>&1`
      _STATUS=$?
      if [ "$_STATUS" -eq 0 ] ; then
        echo "$Y_c - \"$MPOINT\" is now unmounted"
      else echo "$N_c - unmount \"$MPOINT\" failed ($_MSG)"
      fi
    fi
  fi
}

#--------------------------------------------------
[ -n "$VLABEL" ]  || _error_parm "$VLABEL" "Volume Label"

### command line option checck
case "$COPT" in
  "ro" ) ;;
  "rw" ) ;;
  "u"  ) ;;
     * ) _error_parm2 "$COPT" ;;
esac

### is VLABEL already mounted?
AMV=$(mount -l | grep "\[$VLABEL\]")
AMF=$?

### VLABEL is mounted somewhere
if  [ $AMF -eq 0 ] ; then
  AMV_LABEL=$(echo "$AMV" | sed 's/^.* \[\(.*\)\]$/\1/')
  AMV_DETAILS=$(echo $AMV | sed 's|^.*on \(.*\) \[.*$|on \"\1\"|')
  AMV_UHELPER=$(echo $AMV | grep uhelper | sed 's/^.*uhelper=\(.*\)).*$/\1/')
  #echo "AMV = [$AMV]"
  #echo "AMV_LABEL = [$AMV_LABEL]"
  #echo "AMV_DETAILS = [$AMV_DETAILS]"
  #echo "AMV_UHELPER = [$AMV_UHELPER]"

  ### unmount ###
  [ "$COPT" = "u" ] && _unmount && exit $?

  ### mounted on MPOINT (usually /media)
  if [ -d "$MPOINT/$VLABEL" ] ; then
    MOPT="ro" ; YN="$N_c"
    [ -w "$MPOINT/$VLABEL" ] && MOPT="rw"
    [ "$MOPT" = "$COPT" ]     && YN="$Y_c"
  ### mounted somewhere else
  else
    MOPT=$(echo "$AMV_DETAILS" | sed 's/^.*(\(.*\)).*$/\1/')
  fi
  echo "$N_c - $VLABEL is already mounted \"$MOPT\" $AMV_DETAILS"

### $VLABEL is not mounted anywhere, decide on "rw" or "ro"
else
  if [ "$COPT" = "u" ] ; then
    echo "$N_c - \"$VLABEL\" is not mounted"
  else
    MOPT="ro"
    [ "$COPT" = "rw" ] && MOPT="rw"
    echo "udisks --mount /dev/disk/by-label/$VLABEL $UOPT"
    udisks --mount /dev/disk/by-label/"$VLABEL" --mount-options "$MOPT"
    _STATUS=$?
    [ $_STATUS -eq 0 ] && echo "$Y_c - $MPOINT/$VLABEL mounted ($MOPT)"
    [ $_STATUS -ne 0 ] && echo "$N_c - \"$VLABEL\""
  fi
fi
#====================================================================
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top