サイトアイコン Lonely Mobiler

ubuntu で gyazo を使う。

Linux でも gyazo 使いたいなーと gyazo の公式の Linux のリンクを押したら繋がらなかったのでちょっとぐぐってどうにかした。公式ツールじゃないのでいつ使えなくなるかはわからないけど今使えるから良いでしょう。

gyazoの導入方法

[TUT]How to install Gyazo の記事を参照しました。

まず以下のものをインストールします。

$ sudo apt-get install ruby $ sudo apt-get install xclip $ sudo apt-get install imagemagick

スクリプトは Ruby で書かれてます。あとはクリップボードを扱う為の xclip と画像をいじるための imagemagick です。

次に好きなエディタを開いて以下のソースコードをコピペします。
保存する際は gyazo.rb という名前がわかりやすくて良いと思います。

#!/usr/bin/env ruby

# setting browser_cmd = 'firefox' clipboard_cmd = 'xclip'

require 'net/http'

# get id idfile = ENV['HOME'] + "/.gyazo.id"

id = '' if File.exist?(idfile) then id = File.read(idfile).chomp end

# capture png file tmpfile = "/tmp/image_upload#{$$}.png" imagefile = ARGV[0]

if imagefile && File.exist?(imagefile) then system "convert '#{imagefile}' '#{tmpfile}'" else system "import '#{tmpfile}'" end

if !File.exist?(tmpfile) then exit end

imagedata = File.read(tmpfile) File.delete(tmpfile)

# upload boundary = '----BOUNDARYBOUNDARY----'

HOST = 'gyazo.com' CGI = '/upload.cgi' UA = 'Gyazo/1.0'

data = <<EOF --#{boundary}\r content-disposition: form-data; name="id"\r \r #{id}\r --#{boundary}\r content-disposition: form-data; name="imagedata"; filename="gyazo.com"\r \r #{imagedata}\r --#{boundary}--\r EOF

header ={ 'Content-Length' => data.length.to_s, 'Content-type' => "multipart/form-data; boundary=#{boundary}", 'User-Agent' => UA }

env = ENV['http_proxy'] if env then uri = URI(env) proxy_host, proxy_port = uri.host, uri.port else proxy_host, proxy_port = nil, nil end Net::HTTP::Proxy(proxy_host, proxy_port).start(HOST,80) {|http| res = http.post(CGI,data,header) url = res.response.body puts url if system "which #{clipboard_cmd} >/dev/null 2>&1" then system "echo -n '#{url}' | #{clipboard_cmd}" end system "#{browser_cmd} '#{url}'"

# save id newid = res.response['X-Gyazo-Id'] if newid and newid != "" then if !File.exist?(File.dirname(idfile)) then Dir.mkdir(File.dirname(idfile)) end if File.exist?(idfile) then File.rename(idfile, idfile+Time.new.strftime("_%Y%m%d%H%M%S.bak")) end File.open(idfile,"w").print(newid) end }

browser_cmd = 'firefox' とある場所は gyazo で画像をアップロードした後に開くブラウザを指定しています。もし Chromium を使用している場合は browser_cmd = 'chromium-browser' と指定しましょう。

最後のこのスクリプトに実行権限を与えます。

$ chmod +x gyazo.rb

これで準備OKです。早速実行。

$ ./gyazo.rb http://gyazo.com/495970f596e669c3b7fcaf37323f755c

実行するとカーソルが十字になります。ドラッグして範囲指定するとそのまま Gyazo のサーバへアップロードします。アップロード後はそのURLでブラウザが開され、ターミナルから実行した場合はアップロード後のURLも表示されます。

便利!

Sponsored Link
モバイルバージョンを終了