系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#1
帖子
由 oneleaf » 2005-10-21 8:57
写一个脚本,自动搜寻windows分区,复制相关字体到系统文件夹,并完成设置。写了一个简单的抛砖引玉。
代码: 全选
#!/bin/bash
function setfont()
{
if [ $1 = "" ] ; then
return 1
fi
FONTSDIR=${1}/`ls $1 |grep -i fonts`
mkdir -p /usr/share/fonts/truetype/windows
ls $FONTSDIR |grep -i tt[fc] | while read FONTNAMES ; do
echo "copy "$FONTNAMES" to /usr/share/fonts/truetype/windows"
cp -vu ${FONTSDIR}/${FONTNAMES} /usr/share/fonts/truetype/windows
done
chmod -R +755 /usr/share/fonts/truetype/windows
mkfontscale /usr/share/fonts/truetype/windows
mkfontdir /usr/share/fonts/truetype/windows
fc-cache -f
return 0
}
MOUNTDIR=/tmp/fontmount
mkdir -p $MOUNTDIR
fdisk -l /dev/[hs]d[a-z] | grep 'NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS ; do
umount /dev/$WDISKS
mount /dev/$WDISKS $MOUNTDIR -t ntfs -o auto,user,nls=utf8
WINDIR=`ls $MOUNTDIR |grep -i windows`
setfont $MOUNTDIR/$WINDIR
if [ $0 = 1 ] ; then
umount /dev/$WDISKS
continue
fi
umount /dev/$WDISKS
break
done
if [ $0 = 0 ]; then
mount -a
exit 0
fi
fdisk -l /dev/[hs]d[a-z] | grep 'FAT' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS ; do
umount /dev/$WDISKS
mount /dev/$WDISKS $MOUNTDIR -t vfat -o auto,user,utf8
WINDIR=`ls $MOUNTDIR |grep -i windows`
setfont $MOUNTDIR/$WINDIR
if [ $0 = 1 ] ; then
umount /dev/$WDISKS
continue;
fi
umount /dev/$WDISKS
break
done
if [ $0 = 0 ]; then
mount -a
exit 0
fi
exit 1
上次由
oneleaf 在 2005-10-21 10:39,总共编辑 4 次。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#2
帖子
由 eexpress » 2005-10-21 9:26
能不能使用指定的字体名称加入到字体选择列表呢。一般的字体名称好像都是从字体文件取的,但是取出来的好像很陌生了。
● 鸣学
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#3
帖子
由 oneleaf » 2005-10-21 10:41
eexpress 写了:能不能使用指定的字体名称加入到字体选择列表呢。一般的字体名称好像都是从字体文件取的,但是取出来的好像很陌生了。
这个就不知道了,不过好像有系统可以实现,到后来就越听越少了。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2005-10-21 10:46
提意见
代码: 全选
if [ $1 = "" ] ; then
return 1
fi
这里应该出帮助提示。要不还不知道是执行了还是出错了。
代码: 全选
if [ $1 = "" ] ; then
zenity --info --title="用法介绍: \
至少需要一个参数,指定字体名。 \
"
return 1
fi
● 鸣学
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#5
帖子
由 eexpress » 2005-10-21 10:51
提意见
代码: 全选
fdisk -l /dev/[hs]d[a-z]
没有出错处理
代码: 全选
$ fdisk -l /dev/[hs]d[a-z]
Cannot open /dev/hda
● 鸣学
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#6
帖子
由 oneleaf » 2005-10-21 10:53
eexpress 写了:提意见
代码: 全选
if [ $1 = "" ] ; then
return 1
fi
这里应该出帮助提示。要不还不知道是执行了还是出错了。
代码: 全选
if [ $1 = "" ] ; then
zenity --info --title="用法介绍: \
至少需要一个参数,指定字体名。 \
"
return 1
fi
那个是函数调用的,不需要帮助提示,没有参数的。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#7
帖子
由 eexpress » 2005-10-21 10:53
提意见
ntfs和fat的2部分几乎一样。可以用变量混合处理。
● 鸣学
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#8
帖子
由 oneleaf » 2005-10-21 10:54
eexpress 写了:提意见
代码: 全选
fdisk -l /dev/[hs]d[a-z]
没有出错处理
代码: 全选
$ fdisk -l /dev/[hs]d[a-z]
Cannot open /dev/hda
不需要处理,我只要存在的windows分区
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#9
帖子
由 eexpress » 2005-10-21 10:54
那就是下面函数体后,还是加个参数判断提示。
● 鸣学
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#10
帖子
由 oneleaf » 2005-10-21 10:55
eexpress 写了:提意见
ntfs和fat的2部分几乎一样。可以用变量混合处理。
挂载的参数不一样,一起写还是要区分,算了。
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#11
帖子
由 oneleaf » 2005-10-21 10:56
eexpress 写了:那就是下面函数体后,还是加个参数判断提示。
一运行就设置好了,不用什么参数的。
-
flying_ych
- 帖子: 10
- 注册时间: 2005-06-16 17:26
#12
帖子
由 flying_ych » 2005-10-30 9:19
eexpress 写了:能不能使用指定的字体名称加入到字体选择列表呢。一般的字体名称好像都是从字体文件取的,但是取出来的好像很陌生了。
我也很想知道!