fedora的安装
烧制启动盘
百度了一下
fedora的安装不同于ubuntu
据说直接烧进U盘是不能正常安装的
因为fedora采用了分轨镜像
- 官网提供了烧进U盘的专用工具,但是在我的电脑上并不能成功安装,连界面都进不去
- 在linux下用dd命令烧进U盘(注意
of=/dev/sdb
而不是of=/dev/sdb1
)
windows下也可以找到dd的程序,据说跟linux差别不大 - 但是,在一些帖子上看到有的人用Utraiso烧进U盘也能用?但在我的电脑上并不可行
最终采用了第2种方法进入了安装的界面
UEFI?
分区的时候安装程序死活不让我过,提示——For a UEFI installation you must include EFI system partition on a GPT-formatted disk, mounted a /boot/efi
我试着去分出一个挂载在/boot/efi
上的分区,但是并不能解决问题
最后查阅资料后,改成传统的legacy模式进入安装程序就没有问题啦
fedora的基本配置
触控板
默认的触控板上滑动只能移动鼠标,单击必须按下按钮,极不舒服
设置,在Settings
的Mouse&Touchpad
把Tap to click
钩上即可
Terminal的快捷键
默认终端是没有快捷键的,不舒服啊!得把快捷键加上
在Settings
的Keyboard
下Shortcuts
选项卡的Custom Shortcuts
中加入自定义快捷键,Name
随便填,Command
设置为/usr/bin/gnome-terminal
,并且设置所要的快捷键,一般是Ctrl
+Alt
+T
咯
vim的markdown语法高亮插件
据说,fedora下的sublime是写不了中文的耶?!?!郁闷了……
那就用vim吧~~但是要手动下载markdon语法高亮插件
嗯……这个插件还是蛮不错的!
在Home目录下新建名为.vim
的文件夹,将插件clone到本地即可https://github.com/plasticboy/vim-markdown
安装fedora的时候不小心把以前的md文件弄丢了,索性曾经转换成html发布了出去,只要把html再转回markdon即可
Html转换为MarkDown样式代码
这个工具还是蛮不错的,转换的结果还行~~
shadowsocks安装与配置
参考资料:
Shadowsocks|Github
科学上网利器 Shadowsocks 使用方法
安装
yum install python-pip
pip install shadowsocks
配置
新建配置文件和相应目录
/etc/shadowsocks/config.json
文件内容:
{
"server":"服务器地址",
"server_port":服务器端口,
"local_port":1080,
"password":"密码",
"timeout":60,
"method":"aes-256-cfb"
}
启动
前台启动:sslocal -c /etc/shadowsocks/config.json
后台启动:在/etc/shadowsocks/
目录下执行nohup sslocal > log &
添加服务到systemd
安装完shadowsocks后会发现,systemd中并没有sslocal、ssserver、shadowsocks之类的服务,那么需要我们手动添加进去
= =不过我不会玩systemd哦,只好疯狂了翻资料,然后自己写了个low low的service凑活着用吧,等有空恶补一下systemd的知识再来进一步完善
首先,systemd的服务配置文件是在/etc/systemd/system/
目录下
文件名即为服务名.service
,比如我新建的一个sslocal.service
文件内容我是这么写哒——
[Service]
Type=simple
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/config.json
[Intsall]
WantedBy=multi-user.target
Service字段呢指明了类型为简单,然后执行一条命令
只要有这条字段我们就可以systemctl start sslocal
啦
但是一执行enable
他就会报错缺少Install字段
额……还不是很理解这个字段干嘛的,看到各种资料给的例子上都写上这么一句,就直接拔了下来,也能成功地执行systemctl enable sslocal
来使这个服务开机自启啦
这个配置写的lowlow的,而且不知道会不会有什么错误的地方……
等我好好学一下systemd的知识再来完善吧……=。=
firefox->foxyproxy插件
添加代理服务器
服务器ip设置为127.0.0.1,端口1080
选择SOCKS proxy
->SOCKS v5
添加gwflist规则
让插件判断哪些网址需要代理,哪些不需要Pattern Subscriptions
选项卡,添加规则订阅
URL: https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
添加刚才加入的代理Add Proxy
Refesh Rate: 600
Format: AutoProxy
ObFuscation: Base64
这个是谷歌的一个规则,所以添加时必须打开代理服务器,否则将获取不到
把Select Mode
修改为Use proxies based on their pre-defined pattens and priorities
即可
apache+php+mysql安装与配置
参考资料:在fedora21 上的php+mysql+apache环境搭建
apache
安装:yum install httpd
控制:systemctl [start | stop | restart | reload] httpd.service
或 service httpd [start | stop |restart | reload]
开机自启:systemctl enable httpd.service
php
安装:yum install php php-mysql
重启apache:systemctl restart httpd.service
mysql
安装:yum install mariadb mariadb-server
控制:与apache类似,服务名为“mariadb”
开机自启:与apache类似
配置向导:mysql_secure_installation
主要是设置root用户密码,其他设置一般一路回车即可
sudoers
参考资料:Fedora 20下解决用户不在 sudoers 文件中的方法
fedora默认的一般用户并不是sudoer
也就是不能临时使用root权限来执行命令
但是我们可以手动加入到sudoers中
用root打开文件/etc/sudoers
在最下面加入一行USERNAME ALL=(ALL) ALL
即可
此处的USERNAME为要加入sudoers的用户名
sublime的安装与中文支持
fcitx安装
参考资料:Fedora20安装fcitx输入法yum install fcitx fcitx-pinyin fcitx-configtool im-chooser
然后用im-chooser更换输入法为fcitx
如果报错,则执行gsettings set org.gnome.settings-daemon.plugins.keyboard active false
如果实在不行,尝试删除ibus,yum install remove ibus
sublime text安装
参考资料:Fedora 20 sublime text 安装
在官方下载包,解压后复制到/opt/sublime_text/
目录下
创建sublime
命令:
touch /usr/bin/sublime
chmod 755 /usr/bin/sublime
vim /usr/bin/sublime
贴入一下代码:(假设创建sublime命令)
#!/bin/sh
export SUBLIME_HOME=/opt/sublime_text
$SUBLIME_HOME/sublime_text $*
中文输入支持
参考资料:FEDORA20使用FCITX在SUBLIME_TEXT中文输入
1、新建名为sublime_text_fcitx.c
文件,贴入以下代码:
/*
sublime-imfix.c
Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.
By Cjacker Huang <jianzhong.huang at i-soft.com.cn>
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config –libs –cflags gtk+-2.0` -fPIC
LD_PRELOAD=./libsublime-imfix.so sublime_text
*/
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
typedef GdkSegment GdkRegionBox;
struct _GdkRegion
{
long size;
long numRects;
GdkRegionBox *rects;
GdkRegionBox extents;
};
GtkIMContext *local_context;
void
gdk_region_get_clipbox (const GdkRegion *region,
GdkRectangle *rectangle)
{
g_return_if_fail (region != NULL);
g_return_if_fail (rectangle != NULL);
rectangle->x = region->extents.x1;
rectangle->y = region->extents.y1;
rectangle->width = region->extents.x2 – region->extents.x1;
rectangle->height = region->extents.y2 – region->extents.y1;
GdkRectangle rect;
rect.x = rectangle->x;
rect.y = rectangle->y;
rect.width = 0;
rect.height = rectangle->height;
//The caret width is 2;
//Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.
if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
gtk_im_context_set_cursor_location(local_context, rectangle);
}
}
//this is needed, for example, if you input something in file dialog and return back the edit area
//context will lost, so here we set it again.
static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
XEvent *xev = (XEvent *)xevent;
if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
GdkWindow * win = g_object_get_data(G_OBJECT(im_context),”window”);
if(GDK_IS_WINDOW(win))
gtk_im_context_set_client_window(im_context, win);
}
return GDK_FILTER_CONTINUE;
}
void gtk_im_context_set_client_window (GtkIMContext *context,
GdkWindow *window)
{
GtkIMContextClass *klass;
g_return_if_fail (GTK_IS_IM_CONTEXT (context));
klass = GTK_IM_CONTEXT_GET_CLASS (context);
if (klass->set_client_window)
klass->set_client_window (context, window);
if(!GDK_IS_WINDOW (window))
return;
g_object_set_data(G_OBJECT(context),”window”,window);
int width = gdk_window_get_width(window);
int height = gdk_window_get_height(window);
if(width != 0 && height !=0) {
gtk_im_context_focus_in(context);
local_context = context;
}
gdk_window_add_filter (window, event_filter, context);
}
直接用vim贴入有可能会莫名其妙自动注释掉一些代码,要注意检查一下
2、编译为动态链接库
所需工具:gtk2-devel、glib2-devel
执行命令:
gcc -shared -o sublime_text_fcitx.so sublime_text_fcitx.c `pkg-config –libs –cflags gtk+-2.0` -fPIC
将该so文件复制到/opt/sublime_text
目录下
3、设置LD_PRELOAD并启动sublimeLD_PRELOAD=./libsublime-imfix.so sublime_text
但是每次都这样启动太麻烦了,
网上有的用sh脚本启动,其实也挺麻烦的
事实上直接修改/usr/bin/sublime
的内容即可
4、修改/usr/bin/sublime
内容
把LD_PRELOAD的设置添加进去,最终的配置如下:
#!/bin/sh
export SUBLIME_HOME=/opt/sublime_text_3
LD_LIB=$SUBLIME_HOME/libsublime-imfix.so
LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $*