启动 gparted 时出现“Gtk-WARNING **: 无法打开显示:”

启动 gparted 时出现“Gtk-WARNING **: 无法打开显示:”

这正是我的问题。运行 ubuntu 服务器 12.04。抱歉,我找不到将主题标记为“未答复”的方法。

调整使用 fdisk 创建的 3TB 磁盘上的 2TB 分区的大小

我下载并安装了 gparted - 但是尝试运行它时出现错误。你们能帮助我吗?我的终端输出如下:

keysersoze@the-usual-suspects:/$ sudo gparted /dev/sda

(gpartedbin:18064): Gtk-WARNING **: cannot open display:
keysersoze@the-usual-suspects:/$

请注意,我对 Linux 还很陌生。感谢您的耐心。

答案1

这里的技巧是使用另一台机器上的 Xserver 来显示您在服务器上看不到的 GUI 元素。将环境变量设置为运行 Xserver 的本地机器。其中,这是 IP 地址和 X 服务器上的屏幕 #。

export DISPLAY="192.168.1.5:0"

然后运行:

sudo gparted 

对于另一台 Ubuntu 机器,您需要更改防火墙规则以允许此操作。对于 Windows,您可以使用运行本地 X 服务器的 MobaXterm 执行此操作。

答案2

继续,风险自负

(如果您想要更安全的方法来调整 ext 的大小,请转到下一部分分区)

您正在寻找的工具parted是 gparted 的后端,您还必须确保你的分区表是 GPT,如果是 MBR,它将不支持大于 2TB 的分区。

此方法仅适用于未安装的分区,因此如果出现问题,您可能也需要进行备份。

  • 首次开放parted

    braiam@bt:~$ sudo parted
    [sudo] password for braiam: 
    GNU Parted 2.3
    Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) 
    
  • 现在您已经到了这里,您必须确定要修改哪个驱动程序。如您所见,我正在使用sda,如果您想要的是使用sdbsd-something您必须使用select

    (parted) select                                                           
    New device?  [/dev/sda]? /dev/sd                                          
    sda   sda1  sda2  sda3  sda4  sda5  sda6  sda7  sda8  sdb   sdc   sdd   sde   sdf   sdf1  sdf2  
    New device?  [/dev/sda]? /dev/sdf
    Using /dev/sdf
    (parted)
    
  • 使用以下命令列出所有分区print /dev/sdf

    (parted) print /dev/sdf
    Model: SanDisk Cruzer (scsi)
    Disk /dev/sdf: 8040MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    
    Number  Start   End     Size    Type     File system  Flags
     1      32.8kB  2418MB  2418MB  primary               boot, hidden
     2      2418MB  8039MB  5621MB  primary  ntfs
    

    假设我的 NTFS 分区现在是空的。现在我想扩大分区号 1(请注意,我的分区表显示,msdos在你的情况下应该显示gpt)。

  • 现在到了关键时刻。resize我们必须设置分区号一才能使用整个磁盘,我们该怎么做呢?

    调整分区 NUMBER 的大小 START END 调整分区 NUMBER 及其文件系统的大小

    因此,数字应该是1,开始应该相同32.8kB并且结束应该是8039MB(请记住您应该更改数字,因为我没有> 1TB的驱动器)。

    resize 1 32.8kB 8039MB
    WARNING: you are attempting to use parted to operate on (resize) a file system.
    parted's file system manipulation code is not as robust as what you'll find in
    dedicated, file-system-specific packages like e2fsprogs.  We recommend
    you use parted only to manipulate partition tables, whenever possible.
    Support for performing most operations on most types of file systems
    will be removed in an upcoming release.
    

很好的警告,继续阅读。


推荐的方法是什么?e2fsprogs?但我没有!

似乎该消息已经很旧了,并且e2fsprogs不再这样称呼(该包保留了其名称),但是resize2fs。该程序能够调整任何 ext2/3/4 文件系统的大小。太棒了!现在我该怎么做?很简单:

sudo resize2fs /dev/sdf1 8039M

(记住尺寸是当前尺寸+要添加的尺寸)

这里你可以用 M 表示兆字节,用 G 表示千兆字节。你还应该验证错误:

sudo e2fsck -f -p /dev/sdf1

完毕。

答案3

正如 David 指出的那样,gparted它是一个 GUI 应用程序,因此您无法在没有 GUI 的服务器上使用它。您需要使用它parted在命令行上操作分区。但是它不能直接调整分区大小。相反,您必须删除现有分区并使用完全相同的起始位置但更长的长度重新创建它,然后运行另一个工具来调整分区内的文件系统大小。

unit s首先,您需要使用命令和print现有表将其置于扇区模式。使用rm 1删除分区,然后mkpart创建一个新分区。指定与之前相同的起始扇区,然后指定结束扇区。您可以以“+2500G”的形式执行此操作,表示从起始处开始 2,500 GB,而不必指定确切的扇区。 quit完成后,然后运行sudo resize2fs /dev/sda1。这是假设分区是系统中第一个磁盘上的 1 号分区。

如果当时已安装该分区,则在 12.04 中,您将在尝试使用它进行更改时遇到错误parted,并且必须重新启动才能使更改生效,然后才能使用resize2fs

答案4

很简单,在控制台中输入以下命令:

sudo touch .Xauthority  
sudo xauth merge ~name_of_user/.Xauthority  
export DISPLAY=:0.0  
sudo gparted

*将 name_of_user 更改为您的登录用户

相关内容