2018年12月18日 星期二

Lenovo notebook's wireless won't work in Ubuntu

Use rfkill list all and find out ideapad wireless is blocked, soft and hard.

Solution

1. modprobe -r ideapad_laptop (temporary)

2. Add "blacklist ideapad_laptop" in /etc/modprobe.d/blacklist.conf

2018年12月14日 星期五

產生Windows 10還原USB

  1.  Press Windows key + R
  2. Enter recoverydrive and execute
  3. That's all

2018年11月8日 星期四

[Ubuntu] Force password change in a certain time

Edit /etc/login.defs

Change following variable

PASS_MAX_DAYS 99999

2018年11月3日 星期六

Interactive help in Python REPL

$ python

>>> help()

help> str.join

Help on method_descriptor in str:

str.join = join(...)
    S.join(iterable) -> string
   
    Return a string which is the concatenation of the strings in the
    iterable.  The separator between elements is S.
(END)


# Press Q to exit

Keep environment variable while using sudo

$ export A="B"

# Use -E to keep the above environment variable
$ sudo -E python a.py

2018年10月26日 星期五

[Ubuntu]應用程式有時無法切換輸入法

以ibus為例:
確定使用ibus
$ printenv | grep IM
CLUTTER_IM_MODULE=xim
QT4_IM_MODULE=xim
QT_IM_MODULE=ibus
XDG_RUNTIME_DIR=/run/user/1000
GTK_IM_MODULE=ibus
LC_TIME=lzh_TW


如果應用程式使用QT或GTK,須確認QT_IM_MODULE或GTK_IM_MODULE為ibus
如果不是,修改~/.xinputrc,在最後加上

export QT_IM_MODULE=ibus
export GTK_IM_MODULE=ibus

2018年10月5日 星期五

Create human readable json string or file by Python

json.dumps(obj, ensure_ascii=False)

2018年9月19日 星期三

Config Nautilus in Xubuntu 18.04

Use dconf-editor
Except org > gnome > nautilus, a lot of settings are in
org > gtk > settings > file-chooser

Read csv created by Excel

encoding='utf-8-sig"

2018年8月13日 星期一

Print IP address before login prompt

Add following line in /etc/issue
IP Address: \4

2018年8月2日 星期四

jetty 更改 session path

<New id="scm-webapp" class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/test</Set>
   
...

     <Get name="sessionHandler">
        <Set name="sessionManager">
            <New class="org.eclipse.jetty.server.session.HashSessionManager">
                <Set name="sessionPath">/</Set>
            </New>
         </Set>
      </Get>
  </New>


2018年8月1日 星期三

Change hostname in ubuntu 18.04

1. Change preserve_hostname in /etc/cloud/cloud.cfg to "true"
2. sudo hostnamectl set-hostname [your_hostname]
3. edit /etc/hosts
4. Logout and relogin

Running in background

nohup bash test.sh >/dev/null 2>&1 &

Mysql select tip for large tables

Assume id is the primary key

select * from my_table where id >= 123456789 limit 30

is much faster than

select * from my_table limit 123456789, 30

2018年7月31日 星期二

Add a new partition into LVM

sudo fdisk /dev/sda
# Create a new partition /dev/sda3

sudo pvcreate /dev/sda3
sudo pvdisplay
sudo vgdisplay

# ubuntu16044-vg is an existed volume group

sudo vgextend ubuntu16044-vg /dev/sda3

sudo vgdisplay
sudo lvdisplay

# /dev/ubuntu16044-vg/root is an existed logical volume

sudo lvextend -l 100%VG /dev/ubuntu16044-vg/root
sudo lvdisplay

sudo resize2fs /dev/ubuntu16044-vg/root [new_size]

2018年6月16日 星期六

Let whole website or virtual path has no caching

Put it in 000-default.conf or xxx.conf in conf-enabled
The first line indicate the no cache function only working on js file.

<FilesMatch "\.js$">
        FileETag None

        <IfModule mod_headers.c>
            Header unset ETag
            Header set Cache-Control "max-age=0, no-cache, no-store, must-reval$
            Header set Pragma "no-cache"
            Header set Note "CACHING IS DISABLED ON LOCALHOST"
            Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
        </IfModule>
    </FilesMatch>

2018年6月15日 星期五

[Ubuntu] Change timezone

sudo dpkg-reconfigure tzdata

2018年5月21日 星期一

電腦有Nvidia 顯卡,Ubuntu發生無法安裝或開機狀況

因為nouveau (nivida driver) 常出狀況,安裝或開機都可能出現 Error parsing PCC ... 的錯誤,可以用以下方式解決:

1. 進入 GRUB menu
2. 按 e 進入 命令編輯畫面
3. 找到 linux 開頭那行
4. 在句尾加上 nomodeset,(如果結尾原是 ---,則加在 --- 前面)
5. 按 F10 開機

強制進入GRUB Menu

開機後按ESC

2018年5月6日 星期日

Ubuntu 18.04 mysql install

sudo apt install mysql-server

sudo mysql -u root

mysql> FLUSH PRIVILEGES;

mysql> use mysql;

mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';


mysql> UPDATE user SET authentication_string=PASSWORD("***") WHERE User='root';
# *** is your password

mysql>UNINSTALL COMPONENT "file://component_validate_password";

mysql> quit

sudo service mysql restart


After install ibus input method

ibus restart
Use Setings > Region & Language to add new input sources

Remove Mysql completely, including databases and anything about Mysql, such as phpmyadmin

sudo service mysql stop

sudo apt-get remove --purge *mysql\*
sudo apt-get autoremove
sudo apt-get autoclean

2018年3月6日 星期二

Synaptic Quick filter without frequent rebuild

sudo apt-get install apt-xapian-index
sudo update-apt-xapian-index -vf

2018年2月20日 星期二

SCM Manager 在Ubuntu中的設定值位置

請編輯/etc/default/scm-server
例如HOST改為127.0.0.1或PORT改為9090
然後重新啟動
# sudo service scm-server restart

2018年2月19日 星期一

Ubuntu 16.04 安裝 SCM Manager

1. 設定語系
              http://nate-memory.blogspot.tw/2016/12/cannot-set-lcall-to-default-locale-no.html

2. 安裝Java 8 (Oracle)
              https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/
              (先執行sudo apt-get install software-properties-common python-software-properties 確保有add-apt-repository)
              (一定要設定JAVA_HOME並Logout或重開)

3. 安裝SCM Manager
              https://bitbucket.org/sdorra/scm-manager/wiki/RPM%20and%20DEB%20packages

4. 啟動
              # sudo service scm-server start
              (確認之後開機會啟動 http://nate-memory.blogspot.tw/2016/08/scm-manager.html)
5. 使用

http://your-ip or localhost:8080
ID: scmadmin
PWD:scmadmin