无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 11731|回复: 76
打印 上一主题 下一主题

[分享] grub2菜单字体文件

    [复制链接]
1#
发表于 2020-1-21 18:14:28 | 显示全部楼层
wintoflash 发表于 2020-1-21 14:28
楼主怎么改的?能否发一下diff文件?
我其实也不喜欢这个边框。

边框是美工的破坏者
回复

使用道具 举报

2#
发表于 2020-1-21 18:15:14 | 显示全部楼层
wintoflash 发表于 2020-1-21 17:24
我更新了一下grub
现在默认不显示边框了。
set grub_draw_border=1之后才显示边框。

这个好,用一个开关来控制
回复

使用道具 举报

3#
发表于 2020-1-30 09:05:03 | 显示全部楼层
江南一根葱 发表于 2020-1-21 18:50
那可以开始各种洗剪吹牙套妹非主流主题了

葱大侠,讲到这个我又想到一个用法,就是在使用过程中切换主题,譬如说定义一个功能键,按一下换一个主题。不知可不可以实现,这个算是比较变态的用法吗?
回复

使用道具 举报

4#
发表于 2020-1-30 22:24:43 | 显示全部楼层
江南一根葱 发表于 2020-1-30 21:47
可以的吧,写个隐藏菜单
hiddenentry "洗剪吹" --hotkey f5 {
换主题

确实可以这么玩
回复

使用道具 举报

5#
发表于 2020-1-30 22:39:09 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-30 22:40 编辑
江南一根葱 发表于 2020-1-30 21:47
可以的吧,写个隐藏菜单
hiddenentry "洗剪吹" --hotkey f5 {
换主题

譬如说我的themes都放在$prefix/themes/这个目录下,每个主题的文件名都是theme.txt,先列出各themes的目录名,再按一次就换一个,应该怎么写?
回复

使用道具 举报

6#
发表于 2020-1-30 23:36:56 | 显示全部楼层
江南一根葱 发表于 2020-1-30 22:52
这个我比较菜,要实验过才写得出来
大概思路是用 find 列出本目录下所有主题目录包含的theme.t ...

想复杂了
  1. hiddenentry "lighthousegrub" --hotkey f5 {
  2. if [ "$theme" == "$prefix/themes/lighthousegrub/theme.txt" ]; then
  3.         set theme=$prefix/themes/megano-grub-fedora/theme.txt
  4. elif [ "$theme" == "$prefix/themes/megano-grub-fedora/theme.txt" ]; then
  5.         set theme=$prefix/themes/winly/theme.txt
  6. elif [ "$theme" == "$prefix/themes/winly/theme.txt" ]; then
  7.         set theme=$prefix/themes/lighthousegrub/theme.txt
  8. else
  9.         set theme=$prefix/themes/lighthousegrub/theme.txt
  10. fi
  11. }
复制代码

目前下了这几种,经试验可按一次换一次,现在不太知道g2的字符操作,用ls列出来,再弄到变量中有点难度
回复

使用道具 举报

7#
发表于 2020-1-31 01:02:11 | 显示全部楼层
江南一根葱 发表于 2020-1-30 22:52
这个我比较菜,要实验过才写得出来
大概思路是用 find 列出本目录下所有主题目录包含的theme.t ...

切了几个看了下:

回复

使用道具 举报

8#
发表于 2020-1-31 09:29:07 | 显示全部楼层
江南一根葱 发表于 2020-1-30 22:52
这个我比较菜,要实验过才写得出来
大概思路是用 find 列出本目录下所有主题目录包含的theme.t ...

弄好了,也不费神检测了,直接把它记好再换
  1. #定义现有主题
  2. set t1=$prefix/themes/fallout/theme.txt
  3. set t2=$prefix/themes/megano/theme.txt
  4. set t3=$prefix/themes/lighthouse/theme.txt
  5. set t4=$prefix/themes/winly/theme.txt

  6. #换主题
  7. hiddenentry "Switch Themes" --hotkey f5 {
  8. if [ "$theme" == "$t1" ]; then
  9.         set theme=$t2
  10. elif [ "$theme" == "$t2" ]; then
  11.         set theme=$t3
  12. elif [ "$theme" == "$t3" ]; then
  13.         set theme=$t4
  14. elif [ "$theme" == "$t4" ]; then
  15.         set theme=$t1
  16. else
  17.         set theme=$t1
  18. fi
  19. }

  20. #无主题
  21. hiddenentry "Clear Themes" --hotkey f6 {
  22. if [ "$theme" != "" ]; then
  23.         unset theme
  24. fi
  25. }
复制代码
想下屏幕上某个位置把功能键显示出来“F5--换主题 F6--无主题”怎么操作,就像W大文件管理器一样。

回复

使用道具 举报

9#
发表于 2020-1-31 15:38:24 | 显示全部楼层
匿名者 发表于 2020-1-31 15:32
你这样一个个写,不觉得有点蠢吗。。。
是不是想要这种效果:

大致差不多,按一次功能键换一次主题。我这么写也还简洁好看懂,麻烦晒出更高效脚本。
回复

使用道具 举报

10#
发表于 2020-1-31 15:48:40 | 显示全部楼层

EFI的包不知道哪么拆开。
回复

使用道具 举报

11#
发表于 2020-1-31 16:04:31 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-31 16:10 编辑

哈哈,这个聪明多了,我再整理一下,另外我想把它作为功能键,或者在屏幕某个位置输出一段文字告诉用户这个用来换主题,或者干脆做成功能键形式的菜单项,也即把菜单项固定在指定的位置不变怎么弄?

我这7z是19.0的,难道老了点?
回复

使用道具 举报

12#
发表于 2020-1-31 16:33:47 | 显示全部楼层
匿名者 发表于 2020-1-31 16:19
------------------
加热键就是
menuentry "...." --hotkey ... {...}

我这7z怎么是这样的:



点评

[attachimg]410635[/attachimg] [attachimg]410636[/attachimg]  详情 回复 发表于 2020-1-31 16:38
回复

使用道具 举报

13#
发表于 2020-1-31 18:20:29 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-31 18:26 编辑
2012kwy 发表于 2020-1-31 18:12
借这里的人气问问各位老大,假如我有1.efi和2.efi文件,当加载1.efi失败后如何自动加载第二个文件?判断语 ...

这个简单,利用问号变量
if [ $? != 0 ]; then
xyz
fi

晓不得这么用行不行

if [ chainloader 1.efi ]; then
chainloader 2.efi
fi

回复

使用道具 举报

14#
发表于 2020-1-31 18:22:16 | 显示全部楼层
匿名者 发表于 2020-1-31 15:57
用7-ZIP
-------------
初始化变量

弄了半天,expr要另外添加mod
回复

使用道具 举报

15#
发表于 2020-1-31 19:31:59 | 显示全部楼层
判断是否存在似乎逻辑上更清晰一些,也不能说思路有问题。
回复

使用道具 举报

16#
发表于 2020-1-31 20:10:04 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-31 20:13 编辑
匿名者 发表于 2020-1-31 15:57
用7-ZIP
-------------
初始化变量

做好了,感谢两位大佬的指点,终于又学会for/expr等命令的用法。
  1. #主题计数
  2. export theme_count=0
  3. for item in $prefix/themes/*/theme.txt; do
  4.         expr --set=theme_count $theme_count+1
  5. done

  6. if [ $theme_count -gt 0 ]; then
  7.         set theme_index=1

  8.         #换主题
  9.         hiddenentry "Switch Themes" --hotkey f5 {
  10.                 set i=0
  11.                 expr --set=theme_index $theme_index+1
  12.                 if [ $theme_index -gt $theme_count ]; then
  13.                         set theme_index=1
  14.                 fi
  15.                 for item in $prefix/themes/*/theme.txt; do
  16.                         expr --set=i $i+1
  17.                         if [ $i -eq $theme_index ]; then
  18.                                 set theme=$item
  19.                                 break
  20.                         fi
  21.                 done
  22.         }

  23.         #无主题
  24.         hiddenentry "Clear Themes" --hotkey f6 {
  25.                 if [ "$theme" != "" ]; then
  26.                         unset theme
  27.                 fi
  28.         }
  29. fi
复制代码



回复

使用道具 举报

17#
发表于 2020-2-2 13:48:47 | 显示全部楼层
本帖最后由 hhh333 于 2020-2-2 14:10 编辑
匿名者 发表于 2020-1-31 15:57
用7-ZIP
-------------
初始化变量

怎么在bios下不灵啊


这个应该是for相关的模块没有这种用法。官方2.04中,for也没有找文件的功能

回复

使用道具 举报

18#
发表于 2020-2-2 23:52:11 | 显示全部楼层
匿名者 发表于 2020-2-2 14:42
你没有加载 regexp 模块。
加载 regexp 模块后,才支持 * / ? 通配符。

哦,这个模块有点大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-4 06:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表