كيفية تحميل من سطر الأوامر مثل نوتيلوس ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/483460

  •  20-08-2019
  •  | 
  •  

سؤال

على أوبونتو لينكس مربع يمكنني بسهولة جبل USB محركات الأقراص المتصلة CDROM أو النقر على الأجهزة الرموز التي لا يمكن العثور عليها على سطح المكتب.

على سبيل المثال إذا كنت اضغط على USB محرك أقراص متصلة رمز الأمور التالية يحدث:

  • a /وسائل الإعلام/تسمية الدليل يتم إنشاؤه تلقائيا (حيث التسمية هي تسمية القرص و قد تختلف من القرص إلى القرص)
  • نظام الملفات على الجهاز يتم تركيبه على /وسائل الإعلام/التسمية

هذه العملية تختلف كثيرا عن التركيب باستخدام mount الأوامر.على وجه الخصوص:

  • أنت لا تحتاج إلى الجذر (أو أنت لا تحتاج إلى تعديل الملف /etc/fstab للسماح المستخدم العادي إلى جبل الجهاز)
  • على /وسائل الإعلام/تسمية الدليل يتم إنشاؤه تلقائيا
  • اسم الدليل التغييرات حسب تسمية وحدة التخزين.

هناك سطر الأوامر الأمر أن يتصرف مثل واجهة المستخدم الرسومية جنوم تركيب مرافق ؟

هل كانت مفيدة؟

المحلول

ترى pmount الأمر استخدام المعلومات

نصائح أخرى

ما تبحث عنه هو gio mount (استبدالها حديثا gvfs-mount, الذي حل محل gnome-mount).

هناك رجل الصفحة هنا أو يمكنك كتابة فقط gio help mount للحصول على التفاصيل

استخدام الأساسية هي:

gio mount --list --detail للحصول على قائمة من الخيالة و ركوب مجلدات

gio mount [-u] <volume> إلى [الأمم المتحدة]جبل, على سبيل المثال gio mount smb://server/share أو gio mount WINDOWS.

للأسف, يبدو أن هناك علة أن النتائج في "خطأ تصاعد الموقع:حجم لا تنفذ جبل" رسالة تحاول تحميل اسم وحدة التخزين ، ولكن gvfs-mount -d /dev/<devicename> قد عمل.

على توزيعات هال لم تعد تستخدم ، pmount لا يزال موجودا لكنه مستنكر....استخدام:

udisks --mount /dev/sdXN

نعم هناك.هذا يسمى ivman ويعالج كل هال الأحداث.أنا تشغيله عند تشغيل ion3.أنا مجرد بداية ivman كما شيطان العملية ، ولكن تمت إضافة البرنامج إلى sudoers الملف:

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

بحيث يمكن إدارة إعدادات الطاقة كذلك.

أنا لا أصدق جنوم نفسه يتعامل مع تصاعد إنه هال.حتى إذا هال يعمل, يجب أن تكون قادرة على automount.أفترض أن pmount يتحدث هال بطريقة أو بأخرى ، وهذا من شأنه أن يكون وسيلة للتعامل مع وفك الارتباط.آمل أن يكون هذا يحصل لك بدأت على الأقل.

يمكنك أيضا استخدام gnome-جبل تركيب / فك من سطر الأوامر.

أنا سد العجز في جهاز USB من نوع "gnome-حجم-مدير" و هذا يبدو أن تفعل ما تحتاج.

من شأنه أن يكون "devkit-disks --mount /dev/sdxx"حيث xx هو حرف و رقم القسم إلى جبل...

لدي سكربت تفعل ما تريد.

#!/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
#====================================================================
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top