Ubuntu 14.04를 설치해서 사용 중입니다.
Ubuntu를 설치할 때 가장 먼저 설치하는 application은 Google Chrome입니다.
Windows에서도 Chrome을 사용하고, Firefox가 낯설다 보니 Chrome을 설치하게 됩니다.
Ubuntu에 Chrome을 설치하는 방법은 여러 가지가 있겠지만, Firefox 브라우저로 Chrome 설치 파일을 다운 받고, 아래 명령어로 이용합니다.

$ sudo dpkg -i google-chrome-stable_current_amd64.deb 

그런데, 가끔 Chrome가 실행되지 않을 때가 있습니다.
리눅스가 충분히 친숙하지 않고, Ubuntu 설치에는 시간이 얼마 걸리지 않아서, 이럴때는 다시 Ubuntu를 설치하고 했습니다.
이런 상황이 자꾸 반복되다보니 해결책을 찾아보았습니다.


1. Ubuntu에서 Chrome이 실행되지 않는 경우에 대한 Posting이 있긴 하지만, 여전히 문제가 발생합니다.

 

2. 참고 페이지를 따라서, gpu를 disable하고 실행해 보지만, 여전히 문제가 발생합니다.

 

3. Chrome에서 debug message  출력을 확인해 보고 싶어서  찾아보았습니다.
Google 지원 페이지에서 debug message option 을 확인할 수 있었습니다.

 --enable-logging=stderr --v=1

여러 줄의 메시지가 출력되는데, 아래 메시지가 출력되면서 멈춰 있습니다.

chrome Activated seccomp-bpf sandbox for process type: gpu-process.

무슨 의미인지 확인하기 어렵고, 화면에 출력되는 로그만으로는 문제를 확인하기 어려웠습니다.

설명에 있는 chrome_debug.log 파일을 찾아보기로 합니다.

$ find . -name "*.log"

chrome_debug.log는 보이지 않습니다.

 

그런데, .config/google-chrome 폴더가 보입니다.
이상할 때는 config를 지우는 것도 좋은 방법이니, config 폴더를 지워봅니다.

$ rm -rf .config/google-chrome

그리고,  command line에서 chrome을 실행해 봅니다.

$ google-chrome-stable

Chrome이 동작합니다.
정확한 이유는 모르겠지만, chrome이 업데이트 되면서 config 파일과 충돌이 있었거나, ubuntu를 사용하면서 설치한 패키지와 충돌이 있지 않았을까 생각해봅니다.

 
앞으로는 Ubuntu를 설치하는 일이 조금은 줄어 들것 같습니다.

-End-
 
 
 
 

반응형

파워포인트에 그림을 여러장 붙여서 정리해야 했습니다. 여러 가지 방법을 사용해 봤습니다.

선을 그려 놓고, 거기에 맞춰서 그림들을 마우스로 움직여 정렬합니다. 깔끔하지는 않지만 눈대중으로 하는 것보다는 볼만합니다.

그림이 움직일때도 눈에 보이지 않는 좌표에 따라 움직이지 않도록 설정을 변경해 보기도 합니다.

그런데, 그림을 6장씩(3x2) 10개 sheet 이상 정렬하려니, 손으로 작업하는 것은 아니다 싶었습니다.

파워포인트에도 매크로가 있지 않을까 싶어서 찾아보니, 역시나 있었습니다.

그런데, 다른 프로그램들과 달리 단축키 버튼도 없고, 자동 녹화 기능을 쉽게 찾을 수 없었습니다.

대신에 VBA 프로그래밍에 대한 내용들만 있더군요.

더 좋은 방법이 많겠지만, 간단하게 제가 사용한 방법을 정리해 보았습니다.

 

[목적]

1. 그림 파일을 읽는다.

2. 파워포인트에 붙인다.

3. 크기를 조정한다.

4. 위치를 조정한다.

5. 총 6장에 대해서 반복 작업한다.

 

[전체 코드]

Sub ChangeFigSize()

ActiveWindow.Selection.ShapeRange.LockAspectRatio = msoTrue
ActiveWindow.Selection.ShapeRange.Height = 190

picNum = InputBox("그림 위치?")

If IsNumeric(picNum) Then

    If picNum = 1 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 85
    End If

    If picNum = 2 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 85
    End If

    If picNum = 3 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 370
    End If

    If picNum = 4 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 370
    End If

    If picNum = 5 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 655
    End If

    If picNum = 6 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 655
    End If

End If

End Sub

 

[상세]

파워포인트에서 '매크로' 메뉴를 실행하고, 새로운 매크로를 하나 만들면, VBA 프로그램 화면이 새로 뜹니다.

위의 전체 코드를 입력하기 전에 그림들의 위치를 확인해 볼 필요가 있습니다.

우선 손으로 그림들을 배치시켜봅니다.

그리고, 아래 코드를 VBA에 넣습니다.

MsgBox 'ActiveWindow.Selection.ShapeRange.Height'
MsgBox 'ActiveWindow.Selection.ShapeRange.Top'
MsgBox 'ActiveWindow.Selection.ShapeRange.Left'

그림을 하나 선택한 후, 매크로를 실행합니다. 그러면 팝업창이 뜨면서 선택한 그림에 대한 Height, Top, Left에 대한 숫자가 표시됩니다.

이 숫자들이 선택한 그림의 크기와 좌표 정보입니다.

손으로 작업한 것이라, 그림마다 조금씩 틀릴 수 있습니다.

따라서 모든 그림에 대한 크기와 좌표를 확인한 후, 최종적으로 작업할 그림의 크기, 좌표를 정리해 둡니다.

예를 들면 그림 크기가 160.1, 159.8, 160.3등이면 160을 사용하자는 식으로 말입니다.

 

앞서 그림의 크기와 좌표를 확인하기 위한 코드를 지우고, [전체 코드]를 넣습니다.

이때 앞서 확인한 그림의 크기, 좌표등의 숫자는 정리해둔 값을 사용하세요.

 

매크로를 실행하면 팝업창이 뜨면서 몇번째 그림으로 사용할 것인지 묻습니다.

이때 1~6 중에서 원하는 숫자를 입력하면 해당 위치로 그림이 이동하게 됩니다.

 

 매크로 실행을 위한 단축키를 사용하면 좋겠지만, 인터넷에서 쉽게 찾을 수는 없었습니다.

그래서 다음과 같이 작업했습니다.

 

1. 그림 파일을 읽는다. (Ctrl+C 키보드를 입력)

2. 파워포인트에 붙인다. (Ctrl+V 키보드를 입력)

3. 매크로를 실행한다.

    3.1. 매크로 자체를 실행하기 위한 단축키 "Alt+F8" 입력
    3.2. 매크로 메뉴에서 실행 단축키 "Alt+R"키 입력
    3.3. 그림의 위치 선정을 위한 숫자 입력

 

그림이 크기가 변경된 후 원하는 위치로 자동 이동하게 되었습니다.

 

[End]

반응형

'프로그래밍 > Tips & sites' 카테고리의 다른 글

[Obsidian] Google drive와 연동하기  (0) 2022.04.03
[Sites] CRC  (0) 2020.09.12
[Tips] VIM  (0) 2019.12.17
[Tips] Notepad++  (0) 2019.12.15

Python으로 이것 저것을 시험해 보려고 virtualenv 환경을 사용하고 있습니다.

Command line으로도 사용하고, jupyter를 사용하기도 합니다.

윈도우 환경에서 그때 그때 명령어를 모두 입력하기 귀찮아서, bat 파일을 사용하고 있는데, 사용하는 batch 파일을 정리해 보았습니다.

기본적으로 윈도우용 batch 파일 관련 블로그(참고링크)를 참고했습니다.

 

전체코드는 아래와 같습니다.

set argc=0

for %%x in (%*) do Set /A argc+=1

if %argc% == 1 (
	if "%1"=="jupyter" (
		call venv\scripts\activate
		jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10
	)
) else (
	call venv\scripts\activate
)

:virtualenv venv
:virtualenv venv --python=python3
:pip freeze > requirements.txt
:pip install -r requirements.txt

 

[내용]

 

batch 파일의 argument로 'jupyter'를 입력하면, virtualenv 환경 activate하고, jupyter를 실행합니다. (Jupyter 실행 환경)

Jupyter를 실행할 때 파일 크기가 큰 이미지를 불러올 때 문제가 발생하는 경우가 있었습니다. 그래서 Jupyter를 실행할 때 iopub_data_rate_limit의 값을 변경해서 실행했습니다.(참고링크)

Argument 없이 batch 파일을 실행하면 virtualenv 환경만 activate합니다. (Command line 실행 환경)

if %argc% == 1 (
	if "%1"=="jupyter" (
		call venv\scripts\activate
		jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10
	)
) else (
	call venv\scripts\activate
)

 

그리고, 실행되지는 않지만, 주석으로 가끔 사용하는 명령어들을 적어 두었습니다.

최초 virtualenv 설치를 위한 명령입니다.

python2를 사용하는 경우와 python3를 사용하는 경우가 틀려서 따로 적어두었습니다.

:virtualenv venv
:virtualenv venv --python=python3


virtualenv 환경에서 설치한 package들을 백업하거나 재설치하기 위한 명령어들을 적어두었습니다.

:pip freeze > requirements.txt
:pip install -r requirements.txt

[End]

반응형

+ Recent posts