我在 Ubuntu 12.04.2 LTS 上安装了 Xfce 4.8,我想知道有什么替代方案右键点击 -> 按名称排序在 XFCE 上。现在,当我右键单击桌面时,它看起来像这样:
如您所见,没有重新排列图标的选项。如果我的假设正确,则无法直接通过 GUI 进行重新排列。我看到这线程,但这并没有真正解释如何实现相同的结果。有什么想法吗?
答案1
在 13.04 中它就在菜单中,
12.04 没有;还没有测试过 12.10。
答案2
我使用的是 Ubuntu 13.04,Xfce 4.10.0 和 Thunar 1.6.2,奇帕卡说他的回答我在桌面右键菜单中有选项排列桌面图标。
无论如何,如果你没有,也没关系,你可以添加自己的自定义选项。接下来我将解释如何添加。
1.创建一个自动排列桌面图标的perl脚本
您无需了解任何有关 perl 脚本的知识。只需按照以下步骤操作即可:
在终端跑步:
mkdir -p bin
如果您还没有目录,此命令将
bin
在您的文件夹中创建一个目录。home
运行后:
gedit ~/bin/arrange_icons.pl
arrange_icons.pl
这将在 gedit 中创建新文件。将以下脚本复制并粘贴到新创建的文件中:
#!/usr/bin/perl
######################################################
## Script to automatically arrange desktop icons
## Modified from the original script found at
## http://ubuntuforums.org/showthread.php?p=7755880
######################################################
use strict;
## find out the location of the config file
my $icons_file = `locate icons.screen0 | grep \$USER | grep .config | grep desktop | head -n 1`;
## open the config file to read from it
open(CONFIG, "<$icons_file") or die("Can't open $icons_file for reading!!");
my @icon_config = <CONFIG>;
close(CONFIG);
## grab all the icon names from the desktop
my @icons;
foreach my $line (@icon_config) {
if ($line =~ /^(\[.*?\])$/) { push(@icons, $1) }
}
## sort all the icon names in alphabetical order
@icons = sort @icons;
## open the config file to write to it
open(NEWCONFIG, ">$icons_file") or die("Can't open $icons_file for writing!!");
my $row_count = 0;
my $col_count = 0;
foreach my $icon (@icons) {
## on my particular desktop (1440x900 monitor) there are 8 rows... Not sure how this plays out for other resolutions... so I incremement the row count on each loop until it reaches 8
if ($row_count > 8) { $row_count = 0; $col_count++ }
print NEWCONFIG "$icon\nrow=$row_count\ncol=$col_count\n\n";
$row_count++;
}
close(NEWCONFIG);
system("xfdesktop --reload");
- 保存文件并关闭。
返回终端并运行:
chmod +x ~/bin/arrange_icons.pl
授予脚本的执行权限。
2.将脚本添加到桌面右键菜单
打开图纳尔,Xfce 的默认文件管理器,转到编辑并选择配置自定义操作...。打开后,点击+从窗口右侧的签名添加新的自定义操作。在基本的选项卡,填写以下所有字段:
最重要的是把正确的脚本路径放在命令字段。如果愿意,您还可以添加图标。
在外观状况选项卡你只需要勾选桌面场地。
按好的, 然后关闭。
3. 从右键菜单中按名称排列桌面图标
查看新选项按名称排列桌面图标在桌面右键菜单中,您无需重启系统或重新登录。只需在终端中运行以下命令:
xfdesktop --reload
完成所有这些后,您可以享受:
答案3
答案4
笔记:Xubuntu 13.04 也不存在,但在 Ubuntu 13.04 中,使用 Xfce 桌面环境,可以使用它。
据我所知,XFCE4 没有可点击的“对齐图标”功能。相反,它使用桌面上的一个不可见方框网格,您可以单击并将图标“拖入”或“拖出”。当您通过单击和拖动重新定位桌面图标时,您应该会立即看到网格框的轮廓,图标将自动居中。
如果您希望图标全部排成一行或多行,则必须手动将它们移动到您想要的位置。图标“大小”决定了桌面上可以有多少行和多少列图标位置。图标尺寸越小,行和列越多,图标尺寸越大,行和列越少。
系统 > 设置 > 桌面设置 > 行为,获取图标大小调整功能。桌面图标位置配置(存储)在 ~/.config/xfce4/desktop/icons.screen0.rc 中。
现在我找到了一种在登录时自动排列图标的方法,但它有时对我有用,有时却没用。不过我会列出它,希望它对你有用。
#make sure you change 'user' on line 4 to the username of the desktop you want to organize
use strict;
use warnings;
my $conffile='/home/user/.config/xfce4/desktop/icons.screen0.rc';
open(CONF,"$conffile") or die "can't find the config file";
my $all;
while (<CONF>) {
$all=$all.$_;
}
my @oldnames=($all=~/\[(.*)\]/g);
my @allnames=sort { lc($a) cmp lc($b) } @oldnames;
print "testing sort:";
print join("\n",@allnames);
my @rows=($all=~/row=(\d*)/g);
print join("\n",@allnames);
print "ok now I will print the amount of rolls\n\n\n";
@rows=sort(@rows);
my $maxrow=$rows[-1];
print "the max rows is $maxrow";
my $numicons=scalar(@allnames);
print "number of icons is $numicons";
my @cols=($all=~/col=(\d*)/g);
@cols=sort(@cols);
my $maxcol=$cols[-1];
print "the max cols is $maxcol";
my $i=0;
open(OUTPUT,'>icons.screen0.rc');
for (my $j=0;$j<=$maxcol;$j++) {
if ($i<=19) {
for (my $k=0;$k<=$maxrow;$k++) {
print OUTPUT "\[$allnames[$i]\]\nrow=$k\ncol=$j\n\n";
$i++;
}
}
}
close(OUTPUT);
将代码粘贴到编辑器中,并将其保存到主文件夹中,作为 /home/user/.config/xfce4/desktop/icons.screen0.rc
注销。再次以该用户身份登录。这次图标排列好了。它对我来说是自动工作的。我在 Ubuntu 12.04 上运行 Xfce4。正如我所说,它并不总是有效。
希望这可以帮助。
来源:此代码不是我的:它来自 ubuntuforums,由一位以 PGScooter 身份登录的成员编写