有什么办法可以在ubuntu中设置问候语吗?


20

我喜欢一个报价。现在我想每次启动计算机时在屏幕上都显示引号,就像一个欢迎词。在Ubuntu 13.04中有什么方法可以做到这一点?

Answers:


16

您可以在登录时弹出一个简单的“ zenity”对话框,其中包含报价内容。

将以下代码放入脚本中,然后将该脚本添加到“启动应用程序”中

zenity --info --text=$quote --title="A Quote"

使用 fortune

安装fortune-mod软件包(sudo apt-get install fortune-mod),然后可以将fortune命令集成到脚本中,如下所示:

zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap

您可以将该命令添加到启动应用程序中,而无需将其放入脚本中。

literature选项用于指定您要报价,否则将给您开玩笑,谜语和其他“财富”。

注意:有些运势很长,请在上面的命令中使用--text="$(fortune -s literature)"代替代替--text="$(fortune literature)"以仅打印短引号。

屏幕截图如下: 对话中的命运

《财富》还提供了许多不同的选项来自定义您将获得的报价类型(文学,谜语等)。有关更多信息,请参见《财富》手册页。要使用这些选项,只需fortune在上面的命令中将更改为即可fortune SOME_OPTION

fortune命令归功于FreudianSlip


1
我不确定这是否仍然正确,但是在Unix的旧版本中,“ fortune”命令将提供许多不同的短语/说法。我现在不在要测试的linux / unix盒上,但是我确定您会找到对其的引用。
FreudianSlip 2013年

lost.sourceforge.net与Fortune一起提高您的系统管理技能。
K7AAY

@kiloseven当然,您可以将fortune命令替换为您拥有(可以找到)的任何类似于信息的命令。
kiri

fortune命令采用的最后一个参数是可选的文件/目录名称,因此您可以创建和使用自己的引号集合。我不记得确切的文件格式,但这是一个非常简单的文本文件,您可以使用文本编辑器轻松维护。
2013年

如果弹出窗口,还可以查看yad。这是一个具有许多功能和强大支持的简单替代品。
2013年

11

如果您想看点东西(例如在墙纸上显示透明的报价,输入一些提醒等信息……):

  1. 通过按Ctrl+ Alt+ 打开终端T
  2. 转到“编辑>配置文件>新建”。
  3. 给它起一个名字(例如“ quote_of_the_day”),然后单击“ 创建”
  4. 单击编辑,转到颜色选项卡,然后取消选中“使用...的颜色”。
  5. 选择一种在桌面墙纸上可见的文本颜色
  6. 转到“ 背景”选项卡,然后选择“ 透明背景”并将其设置为“无”。
  7. 在“ 滚动”选项卡下,选择“滚动条为:已禁用 ”。
  8. 您可以从常规标签更改字体和大小。
  9. 在这里,您还可以将列和行分别更改为大约50和5。
  10. 转到“ 标题和命令”,然后从组合框中选择“ 保留初始标题 ”。

现在,您已经为报价显示创建了一个终端配置文件。 在此处输入图片说明

接下来,我们将进行compiz设置,以将其置于桌面背景中,并删除那些阴影和装饰。

  • 通过输入终端打开Compiz Config ccsm(假设您已安装)
  • 单击窗口规则,然后执行以下操作: 在此处输入图片说明

  • 单击“ 放置Windows”,然后执行以下操作: 在此处输入图片说明
  • 注意:应根据屏幕分辨率更改600 x和100 y位置。(将其放在右上角的某个位置)
  • 转到“ 窗口装饰”并执行以下操作: 在此处输入图片说明



现在,将以下脚本复制并粘贴到gedit中,并将其另存为quote_script.py

import commands
from time import sleep
import random

quotefile = "/home/user/Documents/.../quotes.txt"
interval = 10

with open(quotefile,'rb') as data: quotes = data.readlines()
print "\x1b[?25l"+random.choice(quotes)[:-1]
sleep(interval)
exit()

更改quotefile间隔,以满足您的文件位置和报价显示时间。通过输入terminal:gnome-session-properties
进入启动应用程序。单击添加添加一个新的并输入:

  • 名称

    每日行情

  • 命令

    gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
    
  • 评论

    登录时显示随机报价


而已!您可以尝试注销然后再次登录以查看结果。

最后结果:

在此处输入图片说明
-试验终端的列和行值;位置值,间隔,字体颜色等。请记住将引号逐行放在quotes.txt文件中。


不错的答案,使用python更好,但不是最简单的答案。我也建议禁用“无焦点”并添加一个input("Press enter...")以手动关闭对话框。另外,不是'rb'读取二进制模式吗?
kiri

是的,阅读Unicode字符,控制字符等一个很好的做法r只是读取纯文本和\n\t。同样,报价会在10秒内自动消失(用户设置)。
Python Student

2

假设您将所有引号保存在一个称为quotes.txt(每个引号一行)的文件中,保存在某处,在中说~/Documents。然后,使用终端可以执行以下操作:

  1. greeting.sh~/bin目录中创建一个新的文件/脚本:

    mkdir -p ~/bin #this command will make a bin directory in your home folder if you don't already have it
    gedit ~/bin/greetings.sh
  2. 如果要获取桌面通知,请在其中添加下两行:

    #!/bin/bash
    
    quotes="$HOME/Documents/quotes.txt"
    random_line=$(shuf -i 1-$(wc -l < $quotes) -n 1)
    quote=$(sed -n -e "$random_line"p $quotes)
    notify-send "Quote of the day" "$quote"

    另外,如果您想显示一个弹出窗口(消息框),请zenity改用notify-send

    zenity --info --title  "Quote of the day" --text "$quote"
  3. 保存文件并关闭它。

  4. 使文件可执行:

    chmod +x ~/bin/greetings.sh
    
  5. Dash中搜索“ 启动应用程序”,将其打开,然后单击“ 添加”

  6. 在名称下输入“显示我的姓名和日期”或您会识别的名称。
  7. 在命令类型下:(/home/$USER/bin/greetings.sh更改$USER您的用户名)。
  8. 在注释下(如果需要),输入简短说明。

相关:如何在登录时显示带有用户名和日期的消息?


1
您只需使用即可简化脚本quote=$(shuf -n 1 "$quotes")-无需sed或wc调用,因为shuf -n 1 file这将使您从文件本身中随机得到一行。
evilsoup

0

这里有多个答案,对我来说,没有一个简单的答案。

我最终安装了Variety,它可以很好地在墙纸上为不同来源写随机引号,以我为例,它来自本地文件。


欢迎来到AskUbuntu!如果您实际上要解释如何在Variety墙纸上书写随机引号,则此答案会大大改善。
极客长老
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.